Network system, control method of a network system, and management server

ABSTRACT

A system including plural servers efficiently synchronizes data on different servers. When an instruction to update store management data is executed, a management server reports data was updated to the POS server. The POS server sends to the management server information indicating when the store management data was last updated. The management server then sends to the POS server update information including information related to updates to the store management data made between the last update indicated by the received information and the current update, and information indicating when the current update was applied. The POS server updates the store management data based on the update information, and stores information indicating when the current update was applied.

Priority is claimed under 35 U.S.C. § 119 to Japanese Application no. 2015-128468, filed Jun. 26, 2015, the content of which is hereby incorporated by reference in its entirety.

BACKGROUND

1. Technical Field

The present disclosure relates to a network system, a control method of a network system, and a management server.

2. Related Art

Systems that synchronize data stored on plural servers are known from the literature. See, for example, JP-A-2001-290687.

To synchronize data between servers in such systems, there is a need to execute an efficient data synchronization process in order to reduce the processing load on the server and to improve communication efficiency.

The present disclosure executes an efficient process when synchronizing data on different servers in a system having multiple servers.

SUMMARY

A network system according to the disclosure includes: a POS system; a POS server configured to connect to the POS system through a network and control the POS system; and a management server configured to connect to the POS system through the network and manage the POS system. The management server stores management server-side data including information related to the POS system. The POS server stores POS server-side data including information related to the POS system. The management server reports there was an update to the POS server when an instruction to update the management server-side data is executed. The POS server sends to the management server previously stored information indicating when the management server-side data was last updated. The management server sends to the POS server update information including information related to updates to the management server-side data made between the last update indicated by the received information and the current update, and information indicating when the current update was applied. The POS server updates the POS server-side data based on the received update information, and stores information indicating when the current update was applied as information indicating when the management server-side data was last updated.

Thus comprised, data can be synchronized on different servers by an efficient process in a system having multiple servers.

In a network system according to another aspect of the disclosure, the network is connected to a plurality of POS systems, and a plurality of POS servers that control different POS systems. When an instruction to update information related to one POS system contained in the management server-side data is executed, the management server reports that there was an update to the one POS server that controls that one POS system.

Thus comprised, when information related to one POS system contained in the management server-side data is updated, the POS server-side data and management server-side data corresponding to that one POS server can be synchronized.

In a network system according to another aspect of the disclosure, the POS system has a POS terminal configured to execute a transaction-related process; and the management server-side data and the POS server-side data include information related to the POS terminal.

Thus comprised, management server-side data and POS server-side data containing information related to a POS terminal can be synchronized by an efficient process.

In a network system according to another aspect of the disclosure, the POS system is used in a store where transactions are made; and the management server-side data and POS server-side data include information related to the store.

Thus comprised, management server-side data and POS server-side data containing information related to a store can be synchronized by an efficient process.

Another aspect of the disclosure is a control method of a network system including a POS system; a POS server that connects to the POS system through a network, stores POS server-side data including information related to the POS system, and controls the POS system; and a management server that connects to the POS system through the network, stores management server-side data including information related to the POS system, and manages the POS system; The control method includes steps of: the management server reporting there was an update to the POS server when an instruction to update the management server-side data is executed; the POS server sending to the management server previously stored information indicating when the management server-side data was last updated; the management server sending to the POS server update information including information related to updates to the management server-side data made between the last update indicated by the received information and the current update, and information indicating when the current update was applied; and the POS server updating the POS server-side data based on the received update information, and storing information indicating when the current update was applied.

Thus comprised, data can be synchronized on different servers by an efficient process in a system having multiple servers.

In a control method of a network system according to another aspect of the disclosure, the network is connected to a plurality of POS systems, and a plurality of POS servers that control different POS systems; and when an instruction to update information related to one POS system contained in the management server-side data is executed, the management server reports that there was an update to the one POS server that controls that one POS system.

Thus comprised, when information related to one POS system contained in the management server-side data is updated, the POS server-side data and management server-side data corresponding to that one POS server can be synchronized.

Other objects and attainments together with a fuller understanding of the disclosure will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates the configuration of a network system according to the disclosure.

FIG. 2 is a block diagram illustrating the functional configuration of devices in the network system.

FIG. 3 is a block diagram of the POS terminal and management server.

FIGS. 4(A)-4(F) are flowcharts showing the operation of devices in the network system.

FIG. 5 is a flow chart showing an operation of the POS terminal.

FIGS. 6A-6K illustrate the content of status information data.

FIG. 7 shows an example of request data.

FIGS. 8A-8C are flow charts showing an operation of the management server.

FIG. 9 is a flow chart showing an operation of the POS terminal.

FIG. 10 is a flow chart showing an operation of the management server.

FIGS. 11A-11D show the structure of records stored in a first status information database and a second status information database.

FIG. 12 is a flow chart showing an operation of the management server.

FIGS. 13A and 13B show an example of store information and POS terminal information.

FIGS. 14(A) and 14(B) are flow charts showing the operation of the management server and POS server.

FIGS. 15(A) and 15(B) are flow charts showing an operation of the POS terminal and POS server.

FIG. 16 shows an example of a user interface for processing transactions.

FIG. 17 is a flow chart showing an operation of the POS terminal.

FIGS. 18(A) and 18(B) are flow charts showing an operation of the POS terminal and POS server.

FIGS. 19(A) and 19(B) are flow charts showing an operation of the POS terminal and POS server.

FIGS. 20(A) and 20(B) are flow charts showing an operation of the POS terminal and POS server.

DESCRIPTION OF EMBODIMENTS

A preferred embodiment of the present disclosure is described below with reference to the accompanying figures.

FIG. 1 illustrates the configuration of a network system 1 according to this embodiment of the disclosure.

As shown in FIG. 1, the network system 1 includes multiple store management systems 10 (in FIG. 1, first store management system 101 and second store management system 102).

The store management system 10 is a system used by a corporation that operates such businesses as supermarkets, convenience stores, department stores, or restaurants. In FIG. 1, the first store management system 101 is a system used by company K1, and the second store management system 102 is a system used by company K2. Company K1 and company K2 are completely independent companies with no business ties therebetween, and the first store management system 101 and the second store management system 102 do not exchange information with each other.

In this embodiment of the disclosure, a store is an operation that sells merchandise. However, a store as used herein is not limited to selling merchandise, and may sell food and drink or a specific service, and includes any operation where sales transactions are made. The main entity using a store management system 10 according to this embodiment of the disclosure is also a corporation. The store management system 10 is not limited to use by corporations, however.

The store management system 10 includes one or more store systems 11 and a POS server 12. The store systems 11 and the POS server 12 are connected and communicate through a global network GN such as the Internet.

A store system 11 is a system installed in an individual store, and has a function for processing transactions and a function for producing transaction receipts as described further below.

A checkout counter L where customer transactions are processed is located in the business where the store system 11 is deployed. A POS terminal 13 (control device) that can produce receipts appropriate to the transaction is installed at each checkout counter L. The receipt produced by the POS terminal 13 and a printer 14 is then given to the customer by the checkout clerk.

The configuration and functions of the POS terminal 13 and printer 14, and processes based on the functions of the POS terminal 13 and printer 14, are described further below.

The store system 11 also has a local area network LN.

The POS terminal 13 and printer 14 connect to the local area network LN according to a communication protocol appropriate to the LAN. Any suitable communication protocol may be used by the POS terminal 13 and printer 14 to connect to the local area network LN, and a wired or wireless connection may be used.

A communication device 15 is also connected to the local area network LN. The communication device 15 is an interface device that connects the local area network LN to a global network GN (network). The communication device 15 has the functions of a modem (or ONU (Optical Network Unit)), a router, a DHCP (Dynamic Host Configuration Protocol) server, or a NAT (Network Address Translation) unit, for example. The communication device 15 passes data between devices when a device connected to the local area network LN and a device connected to the global network GN communicate with each other. Note that the communication device 15 is represented by a single function block in FIG. 1, but the communication device 15 may comprise plural devices with different functions.

The POS terminal 13 and printer 14 communicate with each other through the local area network LN.

The POS terminal 13 can also access the global network GN through the communication device 15 on the local area network LN, and communicate with devices connected to the global network GN.

The printer 14 does not have a function for accessing the global network GN.

The store system 11 in this example has a POS unit 16 comprising one POS terminal 13 and zero or more (there may be 0, 1, 2, or more) printers 14. For convenience of description below, a POS unit 16 in this embodiment of the disclosure has one or more printers 14.

As described further below, in one POS unit 16, the one POS terminal 13 of that one POS unit 16 controls the one or more printers 14 of that one POS unit 16.

The POS server 12 is a cloud server in a cloud system in which the POS terminal 13 and other devices are clients.

The configuration and functions of the POS server 12, and processes based on the functions of the POS server 12, are described further below.

As shown in FIG. 1, a management server 17 is connected to the global network GN. The management server 17 is a cloud server in a cloud system in which the POS terminal 13 and other devices are clients.

The configuration and functions of the management server 17, and processes based on the functions of the management server 17, are described further below.

Note that the POS server 12 and management server 17 are represented by single function blocks in FIG. 1, but this does not mean the POS server 12 and management server 17 are embodied by single server devices. For example, the POS server 12 or management server 17 may be embodied by a plurality of server devices.

FIG. 2 is a block diagram showing the functional configuration of a POS terminal 13, printer 14, POS server 12, and management server 17 in the network system 1.

The POS terminal 13 is a thermal line printer that stores roll paper (recording medium) and records images by forming dots with a thermal line head on the roll paper.

As shown in FIG. 2, the POS terminal 13 has a control device controller 20, a control device print unit 21, a control device storage unit 22, a control device communication unit 23 (communication unit), and a control device-side device communication unit 24.

The control device controller 20 has a CPU, ROM, RAM, and other peripheral circuits not shown, and controls the POS terminal 13.

The control device controller 20 includes a process controller 201, a client function unit 202, a log recorder 203, a communication manager 204, and a command execution unit 205.

The process controller 201 is a function block embodied by executing a process based on firmware installed on the POS terminal 13 and associated programs.

The client function unit 202 is also a function block embodied by executing a process based on a web browser installed on the POS terminal 13 and associated programs.

The log recorder 203, communication manager 204, and execution unit 205 are also function blocks embodied by executing processes based on specific software installed on the POS terminal 13 and associated programs.

The control device print unit 21 includes a conveyance mechanism for conveying roll paper stored inside the cabinet of the POS terminal 13, a printhead 211, and a cutter 212.

The conveyance mechanism has a platen roller disposed at a position opposite the printhead 211, holds the roll paper with the printhead 211 and the platen roller, and turns the platen roller in a specific direction to convey the roll paper in the conveyance direction.

The printhead 211 is a thermal head having a plurality of heat elements corresponding to the print resolution disposed in a direction intersecting the conveyance direction of the roll paper, and forms dots on the thermal roll paper by heating the heat elements.

The control device print unit 21 prints images by alternately forming one line (a row of heat elements extending in the direction intersecting the conveyance direction) of dots with the printhead 211, and then advancing the roll paper the distance of one line by the conveyance mechanism.

The cutter 212 has a fixed knife and a movable knife, and cuts the roll paper by moving the movable knife relative to the fixed knife so that the cutting edge of the movable knife slides against the cutting edge of the fixed knife.

The control device print unit 21 produces a receipt by the control device controller 20 controlling conveyance of the roll paper by the conveyance mechanism, printing an image of the receipt on the roll paper by the printhead 211, and then cutting the roll paper at a specific position by the cutter 212.

The control device storage unit 22 has nonvolatile memory and stores data.

The control device storage unit 22 in this example is a solid state drive (SSD), and can store data in the flash memory of the SSD (referred to below as simply SSD).

The control device storage unit 22 stores a generating interval settings file 221, a transmission interval settings file 222, and a log file 223. The information stored in these files is described below.

The control device communication unit 23 accesses the local area network LN and communicates with other devices (including the POS terminal 13 and printer 14) connected to the local area network LN as controlled by the control device controller 20.

The control device communication unit 23 also accesses the global network GN through the communication device 15 on the local area network LN, and communicates with other devices connected to the global network GN, as controlled by the control device controller 20.

The control device-side device communication unit 24 has an interface board with communication ports such as a USB port, a port conforming to a non-USB serial communication standard, or a port conforming to another communication protocol. The control device-side device communication unit 24 communicates with devices connected to the corresponding ports as controlled by the control device controller 20. Note that the control device-side device communication unit 24 may also be configured with a wireless communication function and communicate with devices wirelessly.

In the example shown in FIG. 2, a barcode scanner BS, customer display CD, cash drawer KS, and touch panel TP are examples of devices that connect to the POS terminal 13.

The barcode scanner BS is used to read barcodes from products and product packaging, and outputs data representing the barcode to the control device-side device communication unit 24. The control device-side device communication unit 24 then outputs the data input from the barcode scanner BS to the control device controller 20.

The customer display CD is an LCD or other type of display device, and displays images as controlled by the control device controller 20. The information presented on the customer display CD can be read by the customer involved in the transaction at the checkout counter L.

The cash drawer KS has a tray for storing cash, and a mechanism for locking the tray, and unlocks and opens the tray as controlled by the control device controller 20.

The touch panel TP has a display device such as an LCD panel or OLED panel, and a touch sensor disposed over the display device for detecting touch operations by the user (including the checkout clerk). The touch panel TP is disposed to a position at the checkout counter L where it can be read by the checkout clerk and operated by touch. The touch panel TP displays images on the display device as controlled by the control device controller 20. The client function unit 202 of the control device controller 20 can display a web page on the touch panel TP based on an HTML file acquired by a specific means. When a touch operation by the user is detected, the touch panel TP outputs a signal indicating the touched position to the control device controller 20. Based on input from the touch panel TP, the control device controller 20 executes a process corresponding to the touch operation of the user.

The printer 14 is a thermal line printer that stores roll paper and prints images by forming dots on the roll paper with a thermal line head.

As shown in FIG. 2, the printer 14 includes a printer controller 30, a printer print unit 31, a printer storage unit 32, a printer communication unit 33, and a printer device communication unit 34.

The printer controller 30 includes a CPU, ROM, RAM, and other peripheral circuits not shown, and controls the printer 14.

The printer print unit 31 includes a conveyance mechanism for conveying roll paper stored inside the cabinet of the printer 14, a printhead, and a cutter.

The printer storage unit 32 includes EEPROM or other type of nonvolatile memory, and stores data.

The printer communication unit 33 accesses the local area network LN and communicates with devices connected to the local area network LN (including the POS terminal 13 and other printers 14) as controlled by the printer controller 30.

The printer device communication unit 34 has an interface board with a USB port, a port conforming to a non-USB serial communication standard, or ports conforming to other communication protocols. The printer device communication unit 34 communicates with devices connected to the appropriate ports as controlled by the printer controller 30. Note that the printer device communication unit 34 may also be configured with a wireless communication function and communicate with devices wirelessly. In the example shown in FIG. 2, a barcode scanner BS, customer display CD, cash drawer KS, and touch panel TP are examples of devices that connect to the printer 14.

As shown in FIG. 2, the POS server 12 has a POS server controller 40, a POS server storage unit 41, and a POS server communication unit 42.

The POS server controller 40 includes a CPU, ROM, RAM, and other peripheral circuits not shown, and controls the POS server 12.

The POS server controller 40 includes a transaction-related process execution unit 401 and a POS server-side data management unit 402.

The transaction-related process execution unit 401 is a function block that executes specific processes based on a specific web application and associated programs run by server software installed on the POS server 12.

The POS server-side data management unit 402 is a function block that executes specific processes based on a specific program installed on the POS server 12.

The POS server storage unit 41 comprises nonvolatile memory such as a hard disk drive or EEPROM device not shown, and stores data.

The POS server storage unit 41 also stores a product master database 411. The product master database 411 relationally stores a product code, price, and other product-related information for products sold in the business.

The POS server storage unit 41 stores a transaction information management database 412. The transaction information management database 412 is described further below.

As shown in FIG. 2, the management server 17 has a management server controller 50 (server control unit), a management server storage unit 51 (server storage unit), and a management server communication unit 52.

The management server controller 50 includes a CPU, ROM, RAM, and other peripheral circuits not shown, and controls the management server 17.

The management server controller 50 includes a log receiver 501, a response unit 502, a log storage unit 503, a log display unit 504, and a management server-side data manager 505.

The log receiver 501, response unit 502, and log storage unit 503, log display unit 504 are function blocks that execute specific processes based on a specific web application and associated programs run by server software installed on the management server 17.

The management server-side data manager 505 is a function block that executes processes based on a specific program installed on the management server 17.

The management server storage unit 51 has nonvolatile memory such as a hard disk drive or EEPROM device not shown, and stores data.

The management server storage unit 51 stores a command storage database 511, a contract management database 512, a first status information database 513, a second status information database 514, first management server-side store management data 5151, second management server-side store management data 5152, a first update management database 5161, and a second update management database 5162. This data are described further below.

The management server communication unit 52 accesses the global network GN and communicates with devices connected to the network (including the POS terminal 13) as controlled by the management server controller 50.

As described above, the network system 1 has a management server 17.

The management server 17 manages the status of the POS terminals 13 and printers 14 of the store systems 11 in a store management system 10 regardless of the company (entity) using the store management system 10 based on a prior contract with that company.

In this embodiment of the disclosure, company K1 and company K2 have previously contracted with the operator of the management server 17 for management of the POS terminals 13 and printers 14 by the management server 17. The management server 17 centrally manages the status of the POS terminals 13 and printers 14 in the store systems 11 of a first store management system 101, and the status of the POS terminals 13 and printers 14 in the store systems 11 of a second store management system 102.

The management server 17 also provides information useful for maintaining the POS terminals 13 and printers 14 to the person (referred to below as the technician) responsible for maintaining the POS terminals 13 and printers 14 in each store system 11.

The operation of the management server 17 during maintenance of the POS terminals 13 and printers 14 is described next.

FIG. 3 shows the function blocks of the control device controller 20 of the POS terminal 13 together with the data stored by the control device storage unit 22, and shows the function blocks of the management server controller 50 of the management server 17 together with the data stored by the management server storage unit 51.

The basic flow of data sent and received between the function blocks when the management server 17 manages the status of the POS terminals 13 and printers 14 is described first with reference to FIG. 3. Details of the processes executed by the function blocks, and details of the content of the data sent and received between the function blocks, are omitted in the following description referring to FIG. 3.

As shown in FIG. 3, the log recorder 203 of the POS terminal 13 references the generating interval settings file 221 and generates request data D1 at an interval defined in the generating interval settings file 221.

The request data D1 includes log data D11, and process result report data D12.

The log recorder 203 outputs the generated request data D1 to the communication manager 204 (arrow Y1 in FIG. 3).

The communication manager 204 references the transmission interval settings file 222 and sends the request data D1 input from the log recorder 203 to the management server 17 at the interval set in the transmission interval settings file 222 (arrow Y2 in FIG. 3).

The request data D1 the communication manager 204 sends to the management server 17 at this interval is equivalent to a request sent from the POS terminal 13 (client) to the management server 17 (server).

The management server 17 can send data to the POS terminal 13 as the response to receipt of the request data D1 (request).

The log receiver 501 of the management server 17 receives the request data D1 sent by the POS terminal 13. The log receiver 501 then outputs the received request data D1 to the response unit 502 (arrow Y3 in FIG. 3).

The response unit 502 references the command storage database 511 based on the log data D11 input from the log receiver 501, and generates response data D2 as a response to the request data D1 (request).

As described further below, the response data D2 includes process command control data D21 (control data) causing the POS terminal 13 to execute a specific process, and error warning/prediction report data D22, which indicates if a specific log item (described further below) is in an error warning state (described further below) or an error prediction state (described further below).

The response unit 502 sends the generated response data D2 to the POS terminal 13 (arrow Y5 in FIG. 3).

The response unit 502 also outputs the request data D1 to the log storage unit 503 (arrow Y4 in FIG. 3).

Based on the request data D1 input from the response unit 502, the log storage unit 503 stores a record in the first status information database 513 (described further below) and stores a record in the a second status information database 514 (described further below).

The communication manager 204 of the POS terminal 13 receives the response data D2 sent by the management server 17.

The communication manager 204 outputs the error warning/prediction report data D22 contained in the received response data D2 to the log recorder 203 (arrow Y6 in FIG. 3).

The communication manager 204 also outputs the process command control data D21 contained in the received response data D2 to the command execution unit 205 (arrow Y7 in FIG. 3).

Based on the process command control data D21 input from the communication manager 204, the command execution unit 205 executes a specific process. The command execution unit 205 generates process result data D3 indicating the result of a specific process that was executed. The command execution unit 205 then outputs the generated process result data D3 to the log recorder 203 (arrow Y8 in FIG. 3).

The log recorder 203 changes the content of the generating interval settings file 221 as needed based on the error warning/prediction report data D22 and log data D11 input from the communication manager 204.

The log recorder 203 also generates process result report data D12 based on the process result data D3 input from the command execution unit 205.

The log recorder 203 then references the generating interval settings file 221, and generates and outputs request data D1 at the interval set in the generating interval settings file 221 to the communication manager 204.

As described above, data is exchanged between the POS terminal 13 and management server 17 in a cycle in which the POS terminal 13 sends request data D1 (log data D11) to the management server 17 after an interval, the management server 17 executes a process based on the request data D1 and sends response data D2 as the response, and the POS terminal 13 executes a process based on the received response data D2.

The operation of the management server 17 when managing the status of a POS terminal 13 and printer 14 is described next.

FIG. 4 is a flow chart showing the operation of the POS terminal 13 and management server 17.

FIG. 4 (A) shows the operation of the log recorder 203 of the POS terminal 13, (B) shows the operation of the communication manager 204 of the POS terminal 13, (C) shows the operation of the command execution unit 205 of the POS terminal 13, (D) shows the operation of the log receiver 501 of the management server 17, (E) shows the operation of the response unit 502 of the management server 17, and (F) shows the operation of the log storage unit 503 of the management server 17.

As shown in FIG. 4 (A), the log recorder 203 references the generating interval settings file 221 and monitors if it is time to generate request data D1 (step SA1).

The generating interval settings file 221 is a file recording information indicating the interval for generating the request data D1. In step SA1, the log recorder 203 references the generating interval settings file 221 and determines it is time to generate the request data D1 if the interval denoted by the generating interval settings file 221 has past since the last time request data D1 was generated.

As described further below, the interval indicated by the information recorded in the generating interval settings file 221 is a specific interval (referred to below as the reference generating interval) that is set as the longest interval, and in certain cases may be an interval shorter than the reference generating interval.

If the timing indicated by the request data D1 has been reached (step SA1: YES), the log recorder 203 generates the process result report data D12 based on the process result data D3 stored in the specific storage area (step SA2).

The process result report data D12 is text data in a format enabling writing information in a hierarchical structure (such as XML (eXtensible Markup Language) data), and is data that can be transmitted as a request to the management server 17.

After generating the process result report data D12, the log recorder 203 deletes the process result data D3 used to generate the process result report data D12 from the specific storage area.

As will be understood below, the log recorder 203 stores the process result data D3 input from the command execution unit 205 in a specific storage area by the time it is determined that the time to generate the request data D1 in step SA1 has been reached after the request data D1 was last generated.

Next, the log recorder 203 executes a log data generating process (step SA3). The log data generating process is a process that generates the log data D11. The log data generating process is described next.

FIG. 5 is a detailed flow chart showing the operation of the log recorder 203 when executing the log data generating process.

As shown in FIG. 5, the log recorder 203 references the log file 223 stored by the control device storage unit 22 (step SG1).

The log file 223 is a file recording a log of multiple log items. A log item is a state to be monitored and recorded. Examples of log items in this embodiment include: communication error, printer error, RAM usage, CPU usage, CPU temperature, data transfer rate, actual SSD usage, the cumulative printhead line count, the cumulative cutter operation count, operating process, and connected device.

Note that these are examples of log items used in this embodiment of the disclosure, and other items may be logged in addition to the foregoing items or instead of one or more of the foregoing items.

Information indicating a communication error occurred, information indicating that a communication error was resolved, and a timestamp indicating the date and time, are recorded chronologically as a log of communication errors. A communication error refers to a state in which normal communication is not possible, such as an overflow of the receive buffer for temporarily storing received data.

The process controller 201 monitors if a communication error occurred and if the communication error was resolved (log item: monitor communication error status), and a log of communication error log items is recorded in the log file 223.

Information indicating if a printer error occurred, information indicating if a printer error was resolved, and information indicating a timestamp are recorded chronologically as a log of printer errors in the log file 223. A printer error occurs when normal printing is not possible, such as when the roll paper runs out or the roll paper jams.

The process controller 201 monitors if a printer error occurred and if the printer error was resolved (log item: monitor printer error status), and a log of printer error log items is recorded in the log file 223.

Information indicating RAM usage and information indicating the time and date are recorded chronologically as a log of RAM usage in the log file 223.

The process controller 201 acquires RAM usage by a specific means at a specific interval (log item: monitor state of RAM usage), and records information denoting the acquired RAM usage in the log file 223.

Information denoting CPU usage and information denoting a timestamp are recorded chronologically in the log file 223 as a log of CPU usage.

The process controller 201 acquires CPU usage at a specific interval (log item: monitor state of CPU usage), and records a log of CPU usage log items in the log file 223.

Information denoting CPU temperature and information denoting a timestamp are recorded chronologically in the log file 223 as a log of CPU temperature log items.

The process controller 201 acquires the CPU temperature by a specific means at a specific interval (log item: monitor status of CPU temperature), and records a log of CPU temperature log items in the log file 223.

Information indicating the data transfer rate and information indicating a timestamp are recorded chronologically in the log file 223 as a log of data transfer rate log items. The data transfer rate is the amount of data that can be transmitted per unit time through the global network GN.

The process controller 201 acquires the data transfer rate by a specific means at a specific interval (log item: monitor data transfer rate status), and records a log of data transfer rate items in the log file 223.

The cumulative number of writes to SSD, the average amount of data written per unit time to SSD, or other information indicating values required to calculate SSD life (the value required to calculate SSD life is referred to below as the “actual SSD use”) are recorded with information denoting the time and date chronologically as a log of actual SSD use log items in the log file 223.

The process controller 201 acquires the actual SSD use at a specific interval (log item: monitor state of actual use) and records a log of actual SSD use log items in the log file 223.

Information denoting the cumulative total number of lines printed by the printhead, and information denoting the time and date, are chronologically recorded in the log file 223 as a log of total printed line count log items.

The cumulative printhead line count is the total number of lines printed by the printhead 211. As described above, the control device print unit 21 of the POS terminal 13 in this embodiment of the disclosure prints images by repeatedly alternating between forming one line of dots with the printhead 211, and conveying the roll paper one line by the conveyance mechanism. As also described above, printing a line means forming one line of dots with the printhead 211.

The process controller 201 acquires the total number of lines printed by the printhead during a specific time (log item: monitoring cumulative printhead line count), and records a log of total printed line count log items in the log file 223.

Information denoting the cumulative total number of times the cutter is used, and information denoting the time and date, are chronologically recorded in the log file 223 as a log of cumulative cutter operation count log items.

The cumulative cutter operation count is the total number of times the cutter 212 cuts the roll paper.

The process controller 201 acquires the cumulative cutter operation count at a specific interval (log item: monitoring the cumulative cutter operation count) and records a log of cumulative cutter operation count log items in the log file 223.

A string representing the name of the process of the current operating state (a state in which CPU time is allocated), and information indicating a timestamp, are recorded chronologically in the log file 223 as a log of operating process items.

The process controller 201 acquires the process of the operating state at a specific interval, and records a log of operating process log items in the log file 223.

A string representing the type of a connected device, and information indicating a timestamp, are recorded chronologically in the log file 223 as a log of connected device items.

A connected device is a device that is connected either by wire or wirelessly, and means a device that can communicate normally.

The process controller 201 acquires the type of connected devices at a specific interval, and records a log of connected device items in the log file 223.

Note that in addition to the log items recorded in the log file 223 described above, at least line-printed media attribute information, and cut-media attribute information, are recorded in the log file 223.

The line-printed media attribute information includes a value relating information denoting a combination of quality, type, and thickness attributes of the roll paper recording media previously stored in the POS terminal 13 (referred to below as recording media attributes), and information denoting the total number of lines printed on roll paper having each media attribute.

In one example, roll paper of recording media attributes z1 related to a combination of paper quality kx1, type sx1, and thickness ax1, and roll paper of recording media attributes z2 related to a combination of paper quality kx2, type sx2, and thickness ax2, were previously stored (used) in the POS terminal 13. The cumulative printhead line count is 100; the total number of lines printed on roll paper of recording media attributes z1 is 30; and the total number of lines printed on roll paper of recording media attributes z2 is 70. In this example, the line-printed media attribute information is information relating the information denoting recording media attributes z1 with information denoting the total number of lines printed on roll paper of recording media attributes z1 is 30; and information relating the information denoting recording media attributes z2 with information denoting the total number of lines printed on roll paper of recording media attributes z2 is 70.

The cut-media attribute information is a value relating information indicating the attributes of the roll paper recording media previously stored in the POS terminal 13, and information indicating the total number of times roll paper with those attributes was cut by the cutter 212.

In one example, roll paper of recording media attributes z1, and roll paper of recording media attributes z2, were previously stored in the POS terminal 13. The total number of cuts made by the cutter is 100, including a total of 30 cuts made by the cutter 212 in roll paper of recording media attributes z1, and a total of 70 cuts made by the cutter 212 in roll paper of recording media attributes z2. In this example, the cut-media attribute information is information relating information denoting recording media attributes z1 to information identifying 30 as the total number of cuts made in roll paper of recording media attributes z1, and information relating information denoting recording media attributes z2 to information identifying 70 as the total number of cuts made in roll paper of recording media attributes z2.

The process controller 201 manages the recording media attributes of the roll paper stored in the POS terminal 13 based on input from specific sensors and input from the user by a specific means, and records the line-printed media attribute information and cut-media attribute information to the log file 223 as appropriate.

As shown in FIG. 5, the log recorder 203 acquires the log of log items, the line-printed media attribute information, and the cut-media attribute information, based on the log file 223 referenced in step SG1 (step SG2).

Next, the log recorder 203 generates status information data (status information) for the log items (step SG3). The status information data of the log items is described further below.

FIG. 6 illustrates the content of the status information data for each log item.

As described further below, the status information data includes status identification information, which is information identifying particular status information data.

FIG. 6A shows the content of status information data for communication error log items (referred to below as communication error status information data).

As shown in FIG. 6A, the communication error status information data includes status identification information identifying the communication error status information data (referred to below as communication error status identification information).

The communication error status information data includes communication error state information. Communication error state information includes information indicating the communication error in the current state (the time corresponding to when the request data D1 is generated), and a timestamp indicating when the communication error occurred.

In step SG3, the log recorder 203 generates communication error state information based on the log of communication error log items, and generates communication error status information data relating the communication error status identification information with the communication error state information.

Note that if a communication error has not occurred at the current time (that is, any previous communication error has been resolved and a new communication error has not occurred), the log recorder 203 does not generate communication error status information data.

FIG. 6B shows the content of status information data for printer error log items (referred to below as printer error status information data).

As shown in FIG. 6B, the printer error status information data includes status identification information identifying the printer error status information data (referred to below as printer error status identification information).

The printer error status information data includes printer error state information. Printer error state information includes information indicating the printer error of the current state (the time corresponding to when the request data D1 is generated), and a timestamp indicating when the printer error occurred.

In step SG3, the log recorder 203 generates printer error state information based on the log of printer error log items, and generates printer error status information data relating the printer error status identification information with the printer error state information.

Note that if a printer error has not occurred at the current time (that is, any previous printer error has been resolved and a new printer error has not occurred), the log recorder 203 does not generate printer error status information data.

FIG. 6C shows the content of status information data for RAM usage log items (referred to below as RAM usage status information data).

As shown in FIG. 6C, the RAM usage status information data includes status identification information identifying the RAM usage status information data (referred to below as RAM usage status identification information).

The RAM usage status information data includes RAM usage state information. RAM usage state information includes information indicating current RAM usage (RAM usage when the request data D1 is generated), and a timestamp indicating when RAM usage was measured.

In step SG3, the log recorder 203 generates RAM usage state information based on the log of RAM usage log items, and generates RAM usage status information data relating the RAM usage status identification information with the RAM usage state information.

FIG. 6D shows the content of status information data for CPU usage log items (referred to below as CPU usage status information data).

As shown in FIG. 6D, the CPU usage status information data includes status identification information identifying the CPU usage status information data (referred to below as CPU usage status identification information).

The CPU usage status information data includes CPU usage state information. CPU usage state information includes information indicating current CPU usage (CPU usage when the request data D1 is generated), and a timestamp indicating when CPU usage was measured.

In step SG3, the log recorder 203 generates CPU usage state information based on the log of CPU usage log items, and generates CPU usage status information data relating the CPU usage status identification information with the CPU usage state information.

FIG. 6E shows the content of status information data for CPU temperature log items (referred to below as CPU temperature status information data).

As shown in FIG. 6E, the CPU temperature status information data includes status identification information identifying the CPU temperature status information data (referred to below as CPU temperature status identification information).

The CPU temperature status information data includes CPU temperature state information. CPU temperature state information includes information indicating the current CPU temperature (CPU temperature when the request data D1 is generated), and a timestamp indicating when the CPU temperature was measured.

In step SG3, the log recorder 203 generates CPU temperature state information based on the log of CPU temperature log items, and generates CPU temperature status information data relating the CPU temperature status identification information with the CPU temperature state information.

FIG. 6F shows the content of status information data for data transfer rate log items (referred to below as data transfer rate status information data).

As shown in FIG. 6F, the data transfer rate status information data includes status identification information identifying the data transfer rate status information data (referred to below as data transfer rate status identification information).

The data transfer rate status information data includes data transfer rate state information. data transfer rate state information includes information indicating the current data transfer rate (data transfer rate when the request data D1 is generated), and a timestamp indicating when the data transfer rate was measured.

In step SG3, the log recorder 203 generates data transfer rate state information based on the log of data transfer rate log items, and generates data transfer rate status information data relating the data transfer rate status identification information with the data transfer rate state information.

FIG. 6G shows the content of status information data for actual SSD use log items (referred to below as actual SSD use status information data).

As shown in FIG. 6G, the actual SSD use status information data includes status identification information identifying the actual SSD use status information data (referred to below as actual SSD use status identification information).

The actual SSD use status information data includes actual SSD use state information and SSD life information.

The actual SSD use status information data includes actual SSD use state information. Actual SSD use state information (such as the cumulative total of SSD write operations) includes information indicating the current actual SSD use (when the request data D1 is generated), and a timestamp indicating when actual SSD use was measured.

In step SG3, the log recorder 203 generates actual SSD use state information based on the log of actual SSD use log items.

SSD life information is information indicating SSD life.

In step SG3, the log recorder 203 calculates the life of the SSD device by a specific method, and generates SSD life information.

In step SG3, the log recorder 203 generates actual SSD use status information data relating the actual SSD use status identification information with the actual SSD use state information and SSD life information.

FIG. 6H shows the content of status information data for the cumulative printhead line count log items (referred to below as cumulative printhead line count status information data).

As shown in FIG. 6H, the cumulative printhead line count status information data includes status identification information identifying the cumulative printhead line count status information data (referred to below as cumulative printhead line count status identification information).

The cumulative printhead line count status information data includes cumulative printhead line count state information and remaining usable printhead days information.

The cumulative printhead line count state information includes information indicating the current cumulative printhead line count (when the request data D1 is generated), and a timestamp indicating when the cumulative printhead line count was acquired.

In step SG3, the log recorder 203 generates cumulative printhead line count state information based on the log of cumulative printhead line count log items.

The remaining usable printhead days information is information indicating the remaining number of days that the printhead 211 can be used (referred to below as the “remaining usable printhead day count”).

In step SG3 the log recorder 203 calculates the remaining usable printhead day count using equation (1) below. IH=(IUseLimit−IUse(N))÷[(IUse(N)−IUse(0))÷N]   (1)

In equation (1), IH represents the remaining usable printhead day count.

Iuselimit represents the maximum number (upper limit) of lines that can be printed (formed) by the printhead 211 (the upper limit of the printhead 211 usage count).

IUse (N) represents the cumulative total number of lines formed by the printhead 211 from day 1 to day N, where day 1 is the first day the POS terminal 13 was installed and used.

IUse (0) represents the cumulative total number of lines formed by the printhead 211 before the POS terminal 13 was installed in the store. This is because content may have been printed for testing or other purposes before the POS terminal 13 was installed for use.

The (IUseLimit−IUse (N) portion on the right side of equation (1) represents the remaining number of lines that can be formed by the 211.

The [(IUse (N)−IUse (0))÷N] portion on the right side of equation (1) represents the average number of lines printed by the printhead 211 each day since the POS terminal 13 was installed in the store.

By dividing the remaining number of lines that can be printed by the printhead 211 by the average number of lines the POS terminal 13 prints each day, the remaining usable printhead day count assuming the POS terminal 13 continues being used in the same way can be calculated.

To calculate the remaining usable printhead day count using equation (1), the log recorder 203 calculates N, IUse (N), and IUse (0) based on the log file 223. The values of these variables (or values required to calculate these variables) are recorded by the process controller 201 in the log file 223.

The log recorder 203 calculates the value of IUseLimit based on the line-printed media attribute information recorded in the log file 223 as described below.

More specifically, the log recorder 203 calculates IUseLimit by multiplying a previously set IUseLimit default value by coefficients set for each of the recording media attributes of roll paper that has previously been used in the POS terminal 13. Note that to calculate IUseLimit, the log recorder 203 weights the coefficients of the recording media attributes according to the cumulative total number of lines formed on roll paper of those recording media attributes.

In this example, the recording media attribute is information denoting a combination of roll paper quality, type, and thickness values. Deterioration (wear) when lines are formed by the printhead 211 differs according to the combination of roll paper quality, type, and thickness values. Based thereon, the coefficient that is set for a particular combination of recording media attributes is set based on the results of prior tests or simulations so that the coefficient increases as the degree of deterioration of the printhead 211 increases when forming lines on roll paper of a particular set of recording media attributes, and decreases as the degree of deterioration of the printhead 211 decreases.

By calculating the remaining usable printhead day count of the printhead 211 by equation (1) using the IUseLimit value calculated as described above, the remaining usable printhead day count can be appropriately calculated to reflect the variable degree of deterioration of the printhead 211 when printing lines due to differences in the quality, type, and thickness of the roll paper.

Note that this effect can be achieved in this embodiment of the disclosure by calculating the remaining usable printhead day count to reflect the quality, type, and thickness of the roll paper (recording medium) previously used, or to reflect at least one of the quality, type, and thickness of the roll paper. This also applies to the remaining usable cutter days described further below.

In step SG3, the log recorder 203 calculates the remaining usable printhead days information by the above method based on the line-printed media attribute information, and generates the remaining usable printhead days information denoting the calculated remaining usable printhead day count.

In step SG3, the log recorder 203 relates the cumulative printhead line count status identification information, cumulative printhead line count state information, and remaining usable printhead days information, and generates the cumulative printhead line count status information data.

FIG. 6I shows the content of status information data for the cumulative cutter operation count log items (referred to below as cumulative cutter operation count status information data).

As shown in FIG. 6I, the cumulative cutter operation count status information data includes status identification information identifying the cumulative cutter operation count status information data (referred to below as cumulative cutter operation count status identification information).

The cumulative cutter operation count status information data includes cumulative cutter operation count state information and remaining usable cutter days information.

The cumulative cutter operation count state information includes information indicating the current cumulative cutter operation count (when the request data D1 is generated), and a timestamp indicating when the cumulative cutter operation count was acquired.

In step SG3, the log recorder 203 generates cumulative cutter operation count state information based on the log of cumulative cutter operation count log items.

The remaining usable cutter days information is information indicating the remaining number of days that the cutter 212 can be used (referred to below as the remaining usable cutter days).

In step SG3, the log recorder 203 calculates the remaining usable cutter days using equation (2) below. KH=(KUseLimit−KUse(N))÷[(KUse(N)−KUse(0))÷N]  (2)

In equation (2), KH represents the remaining usable cutter days.

KUseLimit represents the maximum number of usable days for the cutter 212.

KUse (N) represents the cumulative total number of days the cutter 212 was used from day 1 to day N, where day 1 is the first day the POS terminal 13 was installed and used.

IUse (0) represents the total number of days the cutter 212 has been used since the POS terminal 13 was installed in the store.

The (KUseLimit−KUse (N)) portion on the right side of equation (2) denotes the remaining number of times the cutter 212 can be used.

The [(KUse (N)−KUse (0))÷N] portion on the right side of equation (2) denotes the average number of times the cutter 212 was used in one day since the POS terminal 13 was installed in the store.

By dividing the remaining number of times the cutter 212 can be used by the average number of times the cutter 212 is used in one day, the remaining usable cutter days assuming the POS terminal 13 continues being used in the same way in the store can be calculated.

To calculate the remaining usable cutter days using equation (2), the 203 calculates the values of N, KUse (N), and KUse (0) based on the log file 223. The values of these variables (or values required to calculate these variables) are recorded by the process controller 201 in the log file 223.

The log recorder 203 calculates the value of KUseLimit based on the cut-media attribute information recorded in the log file 223 as described below.

More specifically, the log recorder 203 calculates KUseLimit by multiplying a previously set KUseLimit default value by coefficients set for each of the recording media attributes of roll paper that has previously been used in the POS terminal 13. Note that to calculate KUseLimit, the log recorder 203 weights the coefficients of the recording media attributes according to the cumulative total number of times roll paper of those recording media attributes was cut.

In this example, the recording media attribute is information denoting a combination of roll paper quality, type, and thickness values. Deterioration (wear) of the cutter 212 from cutting roll paper differs according to the combination of roll paper quality, type, and thickness values. Based thereon, the coefficient that is set for a particular combination of recording media attributes is set based on the results of prior tests or simulations so that the coefficient increases as the degree of deterioration of the cutter 212 increases when cutting roll paper of a particular set of recording media attributes, and decreases as the degree of deterioration of the cutter 212 decreases.

By calculating the remaining usable cutter days by equation (2) using the KUseLimit value calculated as described above, the remaining usable cutter days can be appropriately calculated to reflect the variable degree of deterioration of the cutter 212 when cutting roll paper due to differences in the quality, type, and thickness of the roll paper.

In step SG3, the log recorder 203 calculates the remaining usable cutter days information by the above method based on the cut-media attribute information, and generates the remaining usable cutter days information denoting the calculated remaining usable cutter days.

In step SG3, the log recorder 203 relates cumulative cutter operation count status identification information, the cumulative cutter operation count state information, and the remaining usable cutter days information to generate the cumulative cutter operation count status information data.

FIG. 6J shows the content of status information data for the operating process log items (referred to below as operating process status information data).

As shown in FIG. 6J, the operating process status information data includes status identification information identifying the operating process status information data (referred to below as operating process status identification information).

The operating process state information includes information (a string identifying the process) indicating the process that is currently executing (operating; the process to which CPU time is allocated) (when the request data D1 is generated), and a timestamp indicating when the operating process was acquired.

In step SG3, the log recorder 203 generates operating process state information based on the log of operating process log items, and relates the operating process status identification information and operating process state information to generate the operating process status information data.

FIG. 6K shows the content of status information data for the connected device log items (referred to below as connected device status information data).

As shown in FIG. 6K, the connected device status information data includes status identification information identifying the connected device status information data (referred to below as connected device status identification information).

The connected device status information data includes connected device state information.

The connected device state information includes information indicating the type of device currently connected (when the request data D1 is generated), and a timestamp indicating when the connected device state information was acquired.

In step SG3, the log recorder 203 generates connected device state information based on the log of connected device log items, relates the connected device status identification information and the connected device state information, and generates the connected device status information data.

After generating status information data for each log item in step SG3, the log recorder 203 generates log data D11 including status information data for each log item and the POS terminal ID of the POS terminal 13 (step SG4).

The POS terminal ID is information identifying the POS terminal 13, and may be the serial number assigned to the POS terminal 13 when the POS terminal 13 was manufactured, for example.

The log data D11 is text data in a format enabling writing information in a hierarchical structure (such as XML (eXtensible Markup Language) data), and the information is written using a hierarchical key and value combination.

Next, the log recorder 203 communicates with each printer 14 associated with the same POS unit 16, and generates log data D11 for each printer 14 (step SG5). Below, the log data D11 for POS terminal 13 is referred to as main log data D11 m, and the log data D11 for the printer 14 is referred to as sub log data D11 s to differentiate therebetween.

Like the main log data D11 m, the sub log data D11 s is data including status information data for each log item of a printer 14, and printer identification information for the printer 14.

Printer identification information (referred to below as the “printer ID”) is information identifying a specific printer 14, and in this example is the serial number uniquely assigned to each printer 14 when the printer 14 is manufactured.

In step SG5, the log recorder 203 communicates with each of the other printers 14 connected to the same POS unit 16, and acquires from each of the printers 14 the information required to generate a log of the printer 14 log items and other sub log data D11 s. The information required to communicate with the printer 14, such as the IP address of the printer 14, the protocol used for communication with the printer 14, and the formats of data exchanged with the printer 14, is previously registered.

Next, the log recorder 203 generates status information data for each log item of each printer 14 based on the log of each log item, and generates sub log data D11 s based on the generated status information data.

After generating the main log data D11 m and sub log data D11 s, the log recorder 203 ends the log data generating process of step SA3.

As shown in FIG. 4 (A), after generating the log data D11 (main log data D11 m and sub log data D11 s) generated in the log data generating process of step SA3, the log recorder 203 generates request data D1 (step SA4).

The request data D1 is text data of information written in a hierarchical structure and including a store ID identifying the store where the POS terminal 13 is installed, the POS terminal ID of the POS terminal 13, the process result report data D12, main log data D11 m, and sub log data D11 s (if there are plural printers 14 associated with the same POS unit 16 as the POS terminal 13, sub log data D11 s for each printer 14).

FIG. 7 shows an example of the request data D1 in a format convenient for description.

In the example of request data D1 shown in FIG. 7, the store ID and POS terminal ID are written in block A1.

The process result report data D12 is written to block A2.

The main log data D11 m is written to block A3. The POS terminal ID is written to block A31 of block A3. Status information data is written to block A32 of block A3. Status identification information is written to block A321 of block A32.

The sub log data D11 s is written to block A4. The printer ID is written to block A41 of block A4. Status information data is written to block A42 of block A4. Status identification information is written to block A421 of block A42.

As shown in FIG. 4 (A), after generating the request data D1 in step SA4, the log recorder 203 outputs the generated request data D1 by interprocess communication to the communication manager 204 (step SA5).

As shown in FIG. 4 (B), the communication manager 204 acquires the request data D1 input from the log recorder 203 (step SB1).

Next, the communication manager 204 stores the acquired request data D1 in a specific storage area (step SB2). Request data D1 that has not been sent to the management server 17, and request data D1 that has been deleted from the management server 17 for reasons as described below after being sent to the management server 17, are cumulatively stored in the specific storage area.

Next, the communication manager 204 references the transmission interval settings file 222 and monitors if it is time to send the request data D1 to the management server 17 (step SB3).

The transmission interval settings file 222 is a file recording information indicating the timing for sending request data D1.

The request data D1 may be sent at two different times as described below.

The first timing is when the request data D1 is generated by the log recorder 203. In this case, the timing for generating the request data D1 and the timing for transmitting the request data D1 are synchronized, and the generated request data D1 is sent to the management server 17 synchronized to generating the request data D1. This first timing is referred to below as the normal transmission time.

The second timing is when a specific interval (referred to below as the “no-contract interval”) has past since the last time request data D1 was transmitted. This no-contract interval is a period longer than the reference generating interval (the longest interval for generating request data D1) described above. For example, if the reference generating interval is 5 minutes, the specific interval for sending the request data D1 is one hour. This second timing is referred to below as the “no-contract transmission time”).

As described further below, when the contract with the company using the store system 11 in which the POS terminal 13 is deployed ends, information indicating the no-contract transmission time is recorded in the transmission interval settings file 222.

If the time recorded in the transmission interval settings file 222 is the normal transmission time, the communication manager 204 determines in step SB3 that the timing for sending the request data D1 to the management server 17 has been reached when input of the log data D11 from the log recorder 203 is completed.

If the time recorded in the transmission interval settings file 222 is the no-contract transmission time, the communication manager 204 determines in step SB3 that the timing for sending the request data D1 has been reached when the no-contract interval has past since the last time request data D1 was transmitted.

If the timing for transmitting request data D1 has come (step SB3: YES), the communication manager 204 controls the control device communication unit 23 to send the request data D1 stored in the specific storage area as a request to the management server 17 (step SB4). For example, the communication manager 204 may send an HTTP (Hypertext Transfer Protocol) request having the request data D1 written in the request body to the management server 17 by HTTP. Note that the information required to send the request data D1 as a request to the management server 17, including the URL of the management server 17 to which to send the request data D1 and the protocol to use, are pre-registered.

Note that if plural request data D1 are stored in the specific storage area, the communication manager 204 sends the request data D1 stored with the oldest time in the specific storage area.

After transmitting the request data in step SB4, the communication manager 204 monitors for a response (contract information response data or response data D2) from the management server 17 (step SB5).

As shown in FIG. 4 (D), the log receiver 501 of the management server 17 controls the management server communication unit 52 to receive and acquire the request data D1 sent by the communication manager 204 (step SD1).

Next, the log receiver 501 outputs the acquired request data D1 to the response unit 502 (step SD2).

As shown in FIG. 4 (E), the response unit 502 acquires the request data D1 input from the log receiver 501 (step SE1).

Next, the response unit 502 references the contract management database 512 (contract period information) and determines if the current time is within the contract period of the corresponding company (step SE2).

The contract management database 512 is a database storing records relating, for each store that may be managed by the management server 17, the store ID and contract period of the company using the store system 11 of that store. The contract period of a company is the period during which the company can manage the store system 11 using the management server 17. The contract period of a store is previously determined by a contract between the company operating the management server 17 and the company managing the store. The company operating the management server 17 uses the management server 17 to manage the POS terminals 13 and printers 14 in store systems 11 of the contracting corporation during the contract period, and receives income as compensation.

The content of the contract management database 512 may be appropriately rewritten according to the content of the contract with the contracting company, and corresponds to the actual conditions of the contract.

In step SE2, the response unit 502 acquires the store ID of the store where the POS terminal 13 that transmitted the request data D1 is located. As described above, the store ID is written in the request data D1. Next, the response unit 502 retrieves the record with the acquired store ID from the records in the contract management database 512. Next, the response unit 502 acquires the information identifying the contract period from the retrieved record, and determines if the current time is within the contract period.

Next, the response unit 502 determines if the current time is within the contract period of the company (step SE3).

If the present time is not within the contract period (step SE3: NO), the response unit 502 generates contract information response data, and controls the management server communication unit 52 to send the generated contract information response data as the response (step SE4).

More specifically, the response unit 502 generates contract information response data including information indicating the contract has expired (the present time is not within the contract period) as the response.

Next, the response unit 502 deletes the request data D1 (step SE5), and ends the process. In this event, records based on the request data D1 (information based on the log data D11) are not stored in the first status information database 513 and the second status information database 514. This is because these processes are processes that are only executed for companies under contract, that is, companies that have paid for the service.

If the company is currently under contract (step SE3: YES), the response unit 502 outputs the request data D1 acquired in step SE1 to the log storage unit 503 (step SE6). Processing by the log storage unit 503 is described further below.

Next, the response unit 502 executes the response data generating process (step SE7).

The response data generating process is a process for generating response data D2. The response data generating process is described further below.

FIG. 8A is a flow chart showing the operation of the response unit 502 when executing the response data generating process.

As shown in FIG. 8A, in the response data generating process, the response unit 502 executes a process command control data generating process (step SH1) to generate process command control data D21.

FIG. 8B is a flow chart of the operation of the response unit 502 when executing the process command control data generating process.

As shown in FIG. 8B, in the process command control data generating process, the response unit 502 references the command storage database 511 (step SI1).

The command storage database 511 is a database of records relating the POS terminal ID of the POS terminal 13 to information about the processes the POS terminal 13 is controlled to execute (referred to below as “executable process information”).

The executable process information includes information identifying processes the POS terminal 13 executes, data required to execute those processes, and other information for generating process command control data D21.

The response unit 502 has functions for providing a user interface to a manager or service technician of the company enabling inputting the POS terminal ID of a specific POS terminal 13 and information required to generate executable process information related to the processes that POS terminal 13 executes, and storing a record in the command storage database 511 based on the input to the user interface. An example of a process the POS terminal 13 is controlled to execute is updating the firmware, and the information required to generate the executable process information when the process to execute is updating the firmware is the program data of the firmware, for example.

More specifically, the corporate administrator that wants to have a specific POS terminal 13 execute a specific process starts a web browser on a terminal to which the web browser is installed, and operates the web browser to access a specific URL on the management server 17. After performing the required authentication when the specific URL is accessed, the response unit 502 causes the terminal to display a user interface (web page) enabling inputting the POS terminal ID and information required to generate the executable process information. The corporate administrator then inputs the POS terminal ID of the specific POS terminal 13, and the information required to generate process-execution information related to the process the specified POS terminal 13 is to execute. The response unit 502 acquires the information required to generate the process-execution information input to the user interface, and based on the acquired information generates the executable process information. The response unit 502 then accesses the command storage database 511, and stores in the database a record relating the POS terminal ID input to the user interface and the executable process information that was generated.

After referencing the command storage database 511 in step SI1, the response unit 502 acquires the POS terminal ID of the POS terminal 13 that sent the request data D1 (step SI2). As described above, the POS terminal ID is written in the request data D1.

Next, the response unit 502 determines if a record holding the POS terminal ID acquired in step SI2 is in the command storage database 511 (step SI3).

If a record holding the POS terminal ID acquired in step SI2 is not in the command storage database 511 (step SI3: NO), the response unit 502 goes to step SI5.

If a record holding the POS terminal ID acquired in step SI2 is in the command storage database 511 (step S13: YES), the response unit 502 acquires the executable process information from the record (if there are plural records with the POS terminal ID, the executable process information from each record) identified by the POS terminal ID acquired in step SI2 (step SI4). Note that if between when response data D2 was last transmitted and the present, a user (including the corporate administrator) stored a record in the command storage database 511 by the means described above to cause the POS terminal 13 that sent the request data D1 to execute a specific process, a record with the POS terminal ID acquired in step SI2 will be in the command storage database 511.

In the next step SI5, the response unit 502 acquires the process result report data D12 contained in the request data D1 (step SI5).

Next, the response unit 502 generates the process command control data D21 based on the executable process information acquired in step SI4 and the process result report data D12 acquired in step SI5 (step SI6).

More specifically, the response unit 502 generates control data (referred to below as first control data) based on the acquired executable process information that causes the POS terminal 13 to execute the process corresponding to the executable process information. If plural records of executable process information are acquired, the response unit 502 generates control data causing the POS terminal 13 to execute the processes corresponding to the executable process information from the plural records. The response unit 502 has a function for generating process command control data D21 causing the POS terminal 13 to execute the corresponding one or plural processes based on the one or more records of executable process information.

Based on the process result report data D12, if there is a process the POS terminal 13 should be controlled to execute based on the result of the process the command execution unit 205 executed, the response unit 502 generates control data (referred to below as second control data) for executing that process.

Next, the response unit 502 generates process command control data D21 including the first control data and the second control data. The process command control data D21 is data that can be sent to the POS terminal 13 as a response in JSON (JavaScript® Object Notation) or XML format.

After generating the process command control data D21, the response unit 502 deletes the record with the POS terminal ID acquired in step SI2 from the command storage database 511 (step SI7). As a result of step SI7, the command storage database 511 no longer contains the record used to generate the process command control data D21.

After deleting the record, the response unit 502 ends the process command control data generating process.

Note that the process command control data D21 is not generated if a corresponding record is not in the command storage database 511 and process result report data D12 is not in the request data D1, or if there is not a process to be executed by the POS terminal 13 based on the process result report data D12 contained in the request data D1. However, for ease of description below, the response unit 502 and main processes thereof are described below assuming that process command control data D21 was generated.

As shown in FIG. 8A, after executing the process command control data generating process in step SH1 and generating the process command control data D21, the response unit 502 executes an error warning/prediction report data generating process and generates the error warning/prediction report data D22 (step SH2).

FIG. 8C is a flow chart showing the operation of the response unit 502 when executing the error warning/prediction report data generating process.

As shown in FIG. 8C, in the error warning/prediction report data generating process, the response unit 502 acquires the log data D11 (main log data D11 m and sub log data D11 s) contained in the request data D1 (step SJ1).

Next, based on the log data D11 acquired in step SJ1, the response unit 502 determines if a specific log item of the POS terminal 13 indicates an error warning state or an error prediction state, and if a specific log item of the printer 14 indicates an error warning state or an error prediction state (step SJ2).

Log items that are determined to be in an error warning state or an error prediction state are the following log items: RAM usage, CPU usage, CPU temperature, and data transfer rate.

The response unit 502 determines by the method described below if the RAM usage log item of the POS terminal 13 is in an error warning state or an error prediction state. Conditions for determining if the RAM usage log item is in an error state (a state in which a RAM error has occurred), an error warning state (a state in which a RAM error has not occurred, but the probability of an error occurring is high if action is not taken), or an error prediction state (a state in which a RAM error has not occurred but may occur if use continues), are previously determined. The conditions are whether or not RAM usage (numeric) and a specific threshold are in a specific relationship. The condition for identifying an error state is, for example, that RAM usage exceeds a specific threshold. The condition for identifying an error warning state is, for example, that RAM usage exceeds a specific threshold that is lower than the threshold for identifying an error state. The condition for identifying an error prediction state is, for example, whether or not the increase or decrease in RAM usage exceeds a specific threshold. Exceeding a specific threshold includes, for example, RAM usage momentarily exceeding the threshold, and RAM usage exceeding the threshold continuing for a specific time.

To determine if the RAM usage log item is in an error warning state or an error prediction state, the response unit 502 acquires the RAM usage state information of the RAM usage status information data contained in the main log data D11 m of the request data D1. As described above, the RAM usage state information includes information indicating the change in RAM usage during a specific period chronologically. Next, the response unit 502 determines if the RAM usage log item indicates an error warning state or an error prediction state by determining if the condition related to the error warning state or an error prediction state is met.

The conditions for identifying an error warning state and an error prediction state can be changed by the service technician or corporate manager using a specific means.

The response unit 502 uses the same method to determine if the CPU usage, CPU temperature, and data transfer rate log items indicate an error warning state or an error prediction state.

The response unit 502 also uses the same method to determine based on the sub log data D11 s if specific log items of the printer 14 indicate an error warning state or an error prediction state.

Note that when (date and time) a specific log item reached a specific state, and the chronological relation to the current date and time are also considered when determining if a log item is in an error warning state or an error prediction state.

An error warning state and an error prediction state are states in which the possibility of an error occurring is high.

In step SJ3, the response unit 502 generates error warning/prediction report data D22 based on the result of step SJ2.

More specifically, if a specific log item of the POS terminal 13 is in an error warning state or an error prediction state, or if a specific log item of the printer 14 is in an error warning state or an error prediction state, for each log item in an error warning state or an error prediction state, the response unit 502 generates error warning/prediction report data D22 including information identifying the log item and information indicating either the error warning state or error prediction state.

If no log item is in an error warning state or error prediction state, the response unit 502 generates error warning/prediction report data D22 containing information indicating no log item is in an error warning state or error prediction state.

The error warning/prediction report data D22 is text data in a format enabling writing information in a hierarchical structure (such as XML (eXtensible Markup Language) data), and is data that can be transmitted as a response to the POS terminal 13.

As shown in FIG. 8A, after executing the error warning/prediction report data generating process, the response unit 502 generates response data D2 based on information indicating the present time is within the contract period of the company based on the result of step SE2, the process command control data D21 generated in step SH1, and the error warning/prediction report data D22 generated in step SH2 (step SH3), and ends the response data generating process.

The response data D2 is data including information indicating the present time is within the contract period of the company, the process command control data D21, and the error warning/prediction report data D22.

As shown in FIG. 4 (E), after executing the response data generating process in step SE7, the response unit 502 controls the management server communication unit 52 to send the generated response data D2 as a response to the POS terminal 13 (step SE8). For example, the response unit 502 may send an HTTP response having the response data D2 written in the response body to the POS terminal 13 by HTTP.

After sending the response data D2, the response unit 502 ends the process.

As described above, the POS terminal 13 in this embodiment of the disclosure generates log data D11 at a specific interval, and sends request data D1 containing the log data D11 to the management server 17. The management server 17 sends response data D2 in response to the request data D1. Thus comprised, the POS terminal 13 can report the status of POS terminal 13 and printer 14 log items to the management server 17 at a specific interval. The management server 17 can also use the configuration of the POS terminal 13 sending request data D1 including log data D11 at a specific interval to send the response data D2 as a response and cause the POS terminal 13 to execute a required process.

As shown in FIG. 4 (B), if while waiting to receive a response (contract information response data or response data D2) in step SB5 the communication manager 204 receives a response (step SB5: YES), the communication manager 204 executes a set transmission interval process (step SB6).

More specifically, the communication manager 204 determines based on the contract information response data or response data D2 if the current time is within the contract period. If the current time is within the contract period, the communication manager 204 records information indicating the normal transmission time in the transmission interval settings file 222. If the current time is not within the contract period, the communication manager 204 writes information indicating the no-contract transmission time in the transmission interval settings file 222. The no-contract transmission time is the time when the no-contract interval has past after request data D1 was last transmitted. The no-contract interval is an interval longer than the reference generating interval (the longest interval for generating request data D1). For example, if the reference generating interval is 5 minutes, the no-contract interval is one hour.

If the result received in step SB5 is that the current time is within the contract period, request data D1 is transmitted at an interval synchronized with the interval at which the request data D1 is generated; if the current time is not within the contract period, the request data D1 is transmitted at the no-contract interval.

In this embodiment of the disclosure, therefore, the interval for transmitting the request data D1 (log data D11) is longer for a company that is presently out of contract than for a company that is still under contract. The effect of this is described below.

When the POS terminal 13 sends request data D1, that much communication bandwidth is consumed, and the management server 17 that receives the request data D1 stores necessary data using the required storage area and executes necessary operating processes. In other words, transmission of request data D1 by the POS terminal 13 is accompanied by consumption of communication-related resources, and hardware and software resources on the management server 17. By setting the interval at which POS terminals 13 of a company that is not under contract (not within the contract period) send request data D1 longer than the interval at which POS terminals 13 of a company that is in contract (within the contract period) send request data D1, consumption of resources due to transmission of request data D1 by POS terminals 13 belonging to a company that is not in contract can be suppressed, companies that are under contract can be differentiated from companies that are not under contract, and fairness can be maintained.

Transmission of request data D1 from POS terminals 13 belonging to a company that is not under contract could also be stopped completely. However, a company that intends to be in contract could be out of contract at some present time due to a procedural or administrative error, for example. Therefore, by temporarily increasing the request data D1 transmission interval for a company that is out of contract instead of completely stopping transmission of request data D1 from the POS terminals 13 of that company as in this embodiment of the disclosure, unexpected problems resulting from a company that intends to be under contract being completely unable to use functions of the management server 17 can be suppressed. In addition, because the management server 17 determines if a contract is in force each time request data D1 is received, the management server 17 continues determining if a contract is in force whenever request data D1 is received as a result of the POS terminals 13 continuing to send request data D1. As a result, when a new contract is entered, the timing for transmitting request data D1 can be set to the normal transmission time.

Note that as described further below, request data D1 generated while not in contract is not destroyed, and is transmitted to the management server 17 and processed appropriately by the server when the contract is renewed.

After executing the set transmission interval process in step SB6, the communication manager 204 determines if the current time is within the contract period (step SB7).

If not within the contract period (step SB7: NO), the communication manager 204 ends the process. In this event, request data D1 stored in the specific storage area is not deleted and remains stored. When the timing for transmitting the next request data D1 arrives, the request data D1 stored in the specific storage area becomes data to be transmitted (becomes one of the data objects to be transmitted if there are plural request data D1 object stored in the specific storage area).

If in contract (step SB7: YES), the communication manager 204 acquires and outputs the error warning/prediction report data D22 contained in the response data D2 to the log recorder 203 (step SB8).

As shown in FIG. 4 (A), the log recorder 203 executes a set generating interval process based on the error warning/prediction report data D22 acquired from the communication manager 204 and the log data D11 generated in the log data generating process of step SA3 (step SA6).

FIG. 9 is flow chart showing the operation of the log recorder 203 when executing the set generating interval process.

As shown in FIG. 9, the log recorder 203 acquires the log data D11 (main log data D11 m and sub log data D11 s) (step SK1).

Next, the log recorder 203 determines based on the log data D11 acquired in step SK1 if a specific log item of the POS terminal 13 is in an error warning state or error prediction state, and if a specific log item of the printer 14 is in an error warning state or an error prediction state (step SK2).

Whether or not a log item is in an error warning state or error prediction state is determined by the same method described above in the error warning/prediction report data generating process. That is, if the condition for an error warning state is met for the RAM usage log item, CPU usage log item, CPU temperature log item, or data transfer rate log item, the log recorder 203 determines that log item is in an error warning state. If the condition for an error prediction state is met for any of these log items, the log recorder 203 determines that log item is in an error prediction state.

The conditions used in step SK2 to determine if a log item is in an error warning state or an error prediction state are previously registered by a specific person using a specific means.

The conditions the management server 17 uses in the error warning/prediction report data generating process (referred to below as “server-side conditions”), and the conditions used by the POS terminal 13 in the process of step SK2 (referred to below as “POS terminal-side conditions”), do not need to be the same.

For example, the content of the POS terminal-side conditions can be set from a different perspective than the server-side conditions, such as someone that knows how the POS terminals 13 are actually used, such as the environment where the POS terminal 13 is installed, setting the POS terminal-side conditions to reflect how the POS terminals 13 are actually used.

If any one log item is in an error warning state or error prediction state (step SK2: YES), the log recorder 203 records in the generating interval settings file 221 information indicating an interval shorter than the reference generating interval (referred to below as a “shortened generating interval”) (step SK3). Next, the log recorder 203 goes to step SK4. As described above, the reference generating interval is the longest interval that can be set as the interval for generating request data D1 (log data D11). The value (length) of the shortened generating interval is determined by a specific method appropriately to the log item in an error warning state or an error prediction state.

If based on the log data D11 there is no log item in an error warning state or error prediction state (step SK2: NO), the log recorder 203 goes to step SK4.

In step SK4, the log recorder 203 acquires the error warning/prediction report data D22.

Next, based on the error warning/prediction report data D22 acquired in step SK4, the log recorder 203 determines if a specific log item of the POS terminal 13 is in an error warning state or an error prediction state, and determines if a specific log item of the printer 14 is in an error warning state or an error prediction state (step SK5).

If even one log item is in an error warning state or error prediction state (step SK5: YES), the log recorder 203 records information indicating the shortened generating interval in the generating interval settings file 221 (step SK6). The log recorder 203 then goes to step SK7. The value (length) of the shortened generating interval is set according to the error warning state or error prediction state of the log item determined in step SK2, and the error warning state or error prediction state of the log item indicated in the error warning/prediction report data D22.

If there is no log item determined to be in an error warning state or error prediction state based on the error warning/prediction report data D22 (step SK7: YES), the log recorder 203 goes to step SK8.

In step SK7, the log recorder 203 determines if it was decided in step SK2 and step SK5 that there is not even one log item that is in an error warning state or an error prediction state.

If it was decided in step SK2 and step SK5 that there is not even one log item that is in an error warning state or an error prediction state (step SK7: YES), the log recorder 203 records information indicating the reference generating interval in the generating interval settings file 221 (step SK8). The log recorder 203 then ends the set generating interval process.

If it was decided in step SK2 or step SK5 that there is log item that is in an error warning state or an error prediction state (step SK7: NO), the log recorder 203 ends the set generating interval process.

As described above, in this embodiment of the disclosure, the interval for generating request data D1 (log data D11) is shorter when a specific log item is in an error warning state or error prediction state (when the possibility of an error is high) than when not. The effect of this is described next.

Note that when request data D1 is generated at the shortened generating interval, the timing for transmitting the request data D1 is basically the normal transmission time, and the request data D1 transmission interval is therefore also shortened.

More specifically, if a log item is in an error warning state or error prediction state, the possibility of that log item going to an error (a failure occurring) is high. In this event, the service technician needs to monitor the state of that log item at a short interval and take corrective action as required. As described further below, the log storage unit 503 of the management server 17 stores a record based on the request data D1 in the second status information database 514 when request data D1 is received. In addition, the log display unit 504 of the management server 17 reports the status of the POS terminal 13 and printer 14 based on the second status information database 514 when requested by the service technician. By thus shortening the interval for generating and sending request data D1 when a log item is in an error warning state or error prediction state, the service technician can monitor the status of the log item at a shorter interval and can take appropriate action as required.

Note that the interval for generating and sending request data D1 could be always set to the shortened generating interval. However, transmitting the request data D1 consumes resources as described above. Therefore, by shortening the interval for generating and transmitting request data D1 while a log item is in an error warning state or error prediction state, unnecessary consumption of resources can be suppressed, and the status of the log item can be reported to the service technician as required using an efficient method.

As shown in FIG. 4 (B), after outputting the error warning/prediction report data D22 to the log recorder 203 in step SB8, the communication manager 204 acquires and outputs the process command control data D21 contained in the response data D2 to the command execution unit 205 (step SB9).

Next, the communication manager 204 deletes the request data D1 transmitted in step SB4 from the specific storage area (step SB10). As a result of step SB10, request data D1 that was transmitted to the management server 17 and processed (information based on the request data D1 that was stored) by the management server 17 is prevented from being transmitted again.

Next, the communication manager 204 determines if request data D1 is stored in the specific storage area (step SB11). At the time of step SB11, request data D1 stored in the specific storage area is data that has not been processed by the management server 17 (information based on the request data D1 is not stored).

If request data D1 was stored in the specific storage area (step SB11: YES), the communication manager 204 goes to step SB4.

If request data D1 was not stored in the specific storage area (step SB11: NO), the communication manager 204 ends the process.

As shown in FIG. 4 (C), the command execution unit 205 acquires the process command control data D21 input from the communication manager 204 (step SC1).

Next, the command execution unit 205 executes a corresponding process based on the acquired process command control data D21 (step SC2). As described above, control data instructing process execution is contained in the process command control data D21 for each process that should be executed by the command execution unit 205. The command execution unit 205 changes the command language of the control data as required and executes the process. For example, if control data instructing updating the firmware is contained in the process command control data D21, the command execution unit 205 updates the firmware based on the control data.

Next, the command execution unit 205 generates process result data D3 indicating the process result of the process executed based on the process command control data D21 (step SC3).

Next, the command execution unit 205 outputs the generated process result data D3 to the log recorder 203 (step SC4).

As shown in FIG. 4 (A), the log recorder 203 acquires and stores the process result data D3 input from the command execution unit 205 in a specific storage area (step SA7), and then returns to step SA1.

As described above, in step SE6 in FIG. 4 (E), the response unit 502 outputs the request data D1 to the log storage unit 503.

As shown in FIG. 4 (F), the log storage unit 503 receives and acquires the request data D1 input from the log receiver 501 (step SF1).

Next, the log storage unit 503 executes a database registration process (step SF2).

FIG. 10 is a flow chart showing the operation of the log storage unit 503 when executing the database registration process.

As shown in FIG. 10, the log storage unit 503 acquires the log data D11 (main log data D11 m and sub log data D11 s) contained in the request data D1 (step SL1).

Next, based on the acquired log data D11, the log storage unit 503 executes a first database registration process (step SL2). The first database registration process is described in detail below.

The first database registration process is a process of generating and storing a record based on the status information data contained in the log data D11 in the first status information database 513.

The log storage unit 503 executes the following process to generate a record based on the status information data of one log item. More specifically, the log storage unit 503 generates a record relating the store ID of the corresponding store, identification information (POS terminal ID or printer ID) for the device (POS terminal 13 or printer 14) corresponding to that one log item, and the status information data of that one log item. Note that the log storage unit 503 modifies the status information data contained in the record to match the data structure of records in the first status information database 513.

FIG. 11A illustrates the data structure of a record created based on the RAM usage status information data (status information data) of the RAM usage log item of the POS terminal 13.

For example, the log storage unit 503 executes a process such as described below to create a record based on the RAM usage log item of the POS terminal 13. More specifically, the log storage unit 503 generates a record relating the store ID in the request data D1, the POS terminal ID of the POS terminal 13, and the RAM usage status information data of which the format was changed for compatibility with the data structure of the first status information database 513. As a result, a record such as shown in FIG. 11A is stored in the first status information database 513 as a record based on the RAM usage log item.

In the first database registration process of step SL2, the POS terminal 13 generates by the method described above a record based on the status information data of the log items of the POS terminal 13, and the status information data of the log items of the printer 14, based on the log data D11 (main log data D11 m and sub log data D11 s), and stores the record in the first status information database 513.

After executing the first database registration process, the log storage unit 503 executes a second database registration process (step SL3). This second database registration process is described below.

The second database registration process is a process of generating and storing in the second status information database 514 a record based on the status information data contained in the log data D11. More specifically, in specific cases the second database registration process creates a record containing state type information as described further below.

FIG. 12 is a flow chart of the process executed by the log storage unit 503 when creating one record based on status information data for one log item in the second database registration process.

As shown in FIG. 12, the log storage unit 503 acquires status information data from the log data D11 (step SM1).

Next, the log storage unit 503 determines if status identification information is contained in the acquired status information data (step SM2).

If status identification information is not included in the acquired status information data (step SM2: NO), the log storage unit 503 ends the second database registration process. In this case, a record based on the status information data acquired in step SM1 is not created and stored in the second status information database 514. Note that status identification information is not included when the status information data is not data indicating the state of a log item, and when status identification information is not assigned to the status information data, for example.

If status identification information is included in the status information data (step SM2: YES), the log storage unit 503 determines based on value of the status identification information if the status information data is data indicating the error status of a log item (step SM3).

More specifically, in this embodiment of the disclosure the communication error status information data (status information data) of the communication error log item, and the printer error status information data (status information data) of the printer error log item, are examples of status information data that are data indicating the error status of a log item. As described above, this is because this status information data is data that is generated when the state of the log item is an error state. The state of log items corresponding to this status information data has already been confirmed to be an error, and there is no need for classification of the state by the log storage unit 503 as described below.

In step SM3, the log storage unit 503 identifies the log item based on the value of the status identification information, and that if the log item is a communication error log item or a printer error log item, the status information data is data indicating the state of the log item is an error.

If the status information data is data indicating the state of the log item is an error (step SM3: YES), the log storage unit 503 generates and stores a record as described below in the second status information database 514 (step SM4), and ends the second database registration process. More specifically, the log storage unit 503 generates a record relating the store ID of the corresponding store, identification information (POS terminal ID or printer ID) for the device (POS terminal 13 or printer 14) corresponding to that one log item, and class information identifying the error status. Note that the log storage unit 503 modifies the status information data contained in the record to match the data structure of records in the second status information database 514.

The class information is information identifying the class of the log item state. Log item states in this embodiment of the disclosure are divided into four classes: an error state (a state in which a failure has occurred), an error warning state (a state in which a failure has not occurred, but the probability of a failure occurring is high if action is not taken), an error prediction state (a state in which a failure has not occurred but a failure may occur if use continues), and a normal state. The class information is information denoting one of these four states.

FIG. 11B illustrates the data structure of a record created based on the communication error status information data (status information data) of the communication error log item of the POS terminal 13.

For example, the log storage unit 503 executes a process such as described below to create a record based on the communication error log item of the POS terminal 13. More specifically, the log storage unit 503 creates a record relating the store ID in the request data D1, the POS terminal ID of the POS terminal 13, the communication error status information data converted to a format compatible with the data structure of the second status information database 514, and class information indicating the error state. As a result, a record such as shown in FIG. 11B is stored in the second status information database 514 as a record based on the communication error log item.

If step SM3 determines the status information data is not data indicating the state of the log item is an error (step SM3: NO), the log storage unit 503 determines if the status information data is data indicating the status of the log item by a numeric value or data indicating the status of the log item by a text string (step SM5).

In this embodiment of the disclosure, status information data for the RAM usage, CPU usage, CPU temperature, data transfer rate, actual SSD use, cumulative printhead line count, and cumulative cutter operation count log items is data expressing the state of the corresponding log item numerically.

The SSD life indicated by the SSD life information in the status information data of the actual SSD use log item in particular is an example of a log item state expressed numerically.

The remaining usable printhead day count indicated by the remaining usable printhead days information in the status information data of the cumulative printhead line count log item is another log item state expressed numerically.

The remaining usable cutter days indicated by the remaining usable cutter days information in the status information data of the cumulative cutter operation count log item is another log item state expressed numerically.

The status information data for the operating process and connected device log items are examples of data expressing the state of the log item with a text string.

In step SM5, the log storage unit 503 differentiates the log items based on the value of the status identification information, and if the status information data indicates a RAM usage log item, CPU usage log item, CPU temperature log item, data transfer rate log item, actual SSD use log item, cumulative printhead line count log item, or cumulative cutter operation count log item, determines the status information data is data expressing the status of the log item numerically.

In step SM5, the log storage unit 503 differentiates the log items based on the value of the status identification information, and if the status information data indicates an operating process log item or connected device log item, determines the status information data is data expressing the status of the log item by a text string.

If the status information data is data expressing the status of the log item numerically (step SM5: NUMERIC), the log storage unit 503 determines the class of the state of the log item based on the relationship between the numeric value expressing the state of the log item and a specific threshold value (step SM6).

More specifically, a condition for classifying the status of each log item as an error state, error warning state, error prediction state, or normal state is predefined for each log item. The condition is met if the numeric value denoting the status of the log item is in a specific relationship to the specific threshold for that log item.

The conditions for evaluating the error status of a RAM usage log item, CPU usage log item, CPU temperature log item, and data transfer rate log item is whether or not the numeric value exceeds the specific threshold set for that log item.

The condition for evaluating the error status of the actual SSD use is whether or not the SSD life is shorter than a previously set threshold.

The condition for evaluating the error status of the cumulative printhead line count log item and cumulative cutter operation count log item is whether or not the remaining number of usable days of the printhead 211 or cutter 212 is less than a specific threshold.

Note that the condition applied to a specific log item may the same as the condition used in the error warning/prediction report data generating process described above.

These conditions can also be changed by the service technician or administrator, for example, using a specific means.

Next, the log storage unit 503 creates a record relating the store ID of the corresponding store, identification information (POS terminal ID or printer ID) for the device (POS terminal 13 or printer 14) corresponding to the log item of the status information data acquired in step SM1, the status information data acquired in step SM1, and the class information identifying the class determined in step SM6, and then stores the record in the second status information database 514 (step SM7).

Next, the log storage unit 503 ends the second database registration process. Note that the log storage unit 503 modifies the status information data contained in the record to match the data structure of records in the second status information database 514.

FIG. 11C illustrates the data structure of a record created in step SM7 based on the RAM usage status information data (status information data) of the RAM usage log item of the POS terminal 13.

For example, the log storage unit 503 executes a process such as described below to create a record based on the RAM usage log item of the POS terminal 13. More specifically, the log storage unit 503 generates a record relating the store ID in the request data D1, the POS terminal ID of the POS terminal 13, the RAM usage status information data converted to a format compatible with the data structure of the second status information database 514, and the class information indicating the classification determined in step SM6. As a result, a record such as shown in FIG. 11C is stored in the second status information database 514 as a record based on the RAM usage log item.

As will be understood by comparing the record shown in FIG. 11A and the record shown in FIG. 11C, class information is not added to the records stored in the first status information database 513, but class information is added to the records stored in the second status information database 514.

If the status information data is a text string expressing the status of the log item (step SM5: TEXT), the log storage unit 503 determines classifies the status of the log item based on the content of the text string expressing the status of the log item (step SM8).

Describing the process executed in step SM8 when the log item of the status information data is the operating process log item more specifically, processes that must be in an operating state (referred to below as “required processes”), and processes that must not be in a non-operating state (referred to below as “non-essential processes”), are predefined for each POS terminal 13, and are registered relationally to the POS terminal ID of the POS terminal 13 or the printer ID of the printer 14.

In step SM8, the log storage unit 503 applies string searching technology, for example, to evaluate the state of log items expressed by a text string and determine the operating state of required processes and non-essential processes. If a required process is in an operating state, or a non-essential process is not in an operating state, the log storage unit 503 determines the status of that log item is normal.

If a required process is not in an operating state, or a non-essential process is in an operating state, the log storage unit 503 determines the status of that log item is an error state.

Required processes and non-essential processes can be changed by the service technician or administrator by a specific means.

Describing the process executed in step SM8 when the log item of the status information data is the connected device log item more specifically, devices that must be connected (referred to below as “required devices”), and devices that must not be connected (referred to below as “non-essential devices”), are predefined for each POS terminal 13, and are registered relationally to the POS terminal ID of the POS terminal 13 or the printer ID of the printer 14.

In step SM8, the log storage unit 503 applies string searching technology, for example, to evaluate the state of log items expressed by a text string and determine whether or not a required device or a non-essential device is connected. If a required device is connected, and a non-essential device is not connected, the log storage unit 503 determines the status of that log item is normal. If a required device is not connected, or a non-essential process is connected, the log storage unit 503 determines the status of that log item is an error state.

Required devices and non-essential devices can be changed by the service technician or administrator by a specific means.

Next, the log storage unit 503 creates a record relating the store ID of the corresponding store, identification information (POS terminal ID or printer ID) for the device (POS terminal 13 or printer 14) corresponding to the log item of the status information data acquired in step SM1, the status information data acquired in step SM1, and the class information identifying the class determined in step SM8, and then stores the record in the second status information database 514 (step SM9).

Next, the log storage unit 503 ends the second database registration process. Note that the log storage unit 503 modifies the status information data contained in the record to match the data structure of records in the second status information database 514.

FIG. 11D illustrates the data structure of a record created in step SM9 based on the operating process status information data (status information data) of the operating process log item of the POS terminal 13.

For example, the log storage unit 503 executes a process such as described below to create a record based on the operating process log item of the POS terminal 13. More specifically, the log storage unit 503 generates a record relating the store ID in the request data D1, the POS terminal ID of the POS terminal 13, the operating process status information data converted to a format compatible with the data structure of the second status information database 514, and the class information indicating the classification determined in step SM8. As a result, a record such as shown in FIG. 11D is stored in the second status information database 514 as a record based on the operating process log item.

In the second database registration process, the log storage unit 503 applies the process of the flow chart shown in FIG. 12 to each status information data object in the request data D1, and generates and stores a record in the second status information database 514.

As described above, in the database registration process of step SF2 in FIG. 4, the log storage unit 503 does not add class information when storing records based on the status information data in the first status information database 513. However, when storing records based on the status information data in the second status information database 514, the log storage unit 503 determines the class of the state of the log item in the status information data and adds information denoting the class to the record.

This process has the following effect.

Specifically, data of the same content as the status information data from which the record was created is contained in each record in the first status information database 513. It is therefore possible to classify the state of a log item using a condition different from the condition used to create a record in the second status information database 514, and analyze the state of other log items, based on a record in the first status information database 513.

In addition, class information indicating the class determined by a specific method is added to a specific record in the second status information database 514. Based on a specific record in the second status information database 514, it is therefore possible to execute a process appropriate to the class of the state of the corresponding log item, and immediately report the class of the state of the log item, for example.

Note that the information stored in the second status information database 514 with added class information is an example of processed status information.

The operation of devices when the status of a POS terminal 13 and printer 14 is managed by the management server 17 is described above. As described above, the POS terminal 13 generates request data D1 at a specific interval, and sends request data D1 including log data D11 as a request. Based on the received request data D1, the management server 17 generates records in the first status information database 513 and second status information database 514 to manage the status of log items (the status of the POS terminal 13 and printer 14). The management server 17 also sends response data D2 to the POS terminal 13 in response, and causes the POS terminal 13 to execute a required process. By executing these processes, the status of the POS terminal 13 and printer 14 can be continuously and efficiently monitored by the management server 17.

Processes of the log recorder 203, communication manager 204, and command execution unit 205 are described above.

These function blocks are configured so that functions can be added to the programs (programs embodying the function of specific function blocks) corresponding to the function blocks by adding a specific plug-in. Thus comprised, the functions of the log recorder 203, communication manager 204, and command execution unit 205 can be added as required by a flexible, simple means.

The log display unit 504 of the management server 17 is described next.

Based on the second status information database 514, the log display unit 504 reports information related to the status of log items of a specific device (POS terminal 13 or printer 14) to the service technician (or other authorized person).

A service technician wanting information related to the status of log items related a specific POS terminal 13 or printer 14 starts a web browser of a terminal to which a web browser is installed, and accesses a specific URL on the management server 17. The service technician may execute this operation after receiving from the store administrator by telephone or e-mail, for example, a report that an error has occurred on a specific POS terminal 13 or printer 14.

After performing the required authentication when the specific URL is accessed, the log display unit 504 sends a specific HTTP file to the terminal to display a user interface (web page) enabling inputting the POS terminal ID or printer ID on the terminal. The service technician then inputs the POS terminal ID of the specific POS terminal 13 or the printer ID of the specific printer 14 to the user interface. The log display unit 504 thus acquires the POS terminal ID or printer ID input to the user interface.

Next, the log display unit 504 references the second status information database 514, and based on the acquired POS terminal ID or printer ID, acquires the required records (including at least the recently stored records) based on the status information data of the log items of the corresponding POS terminal 13 or printer 14.

Next, the log display unit 504 sends a specific HTTP file to the terminal, and displays a user interface (web page, screen) presenting the following information related to the log item. If a communication error or printer error has occurred, the log display unit 504 displays information for communication error and printer error log items in the user interface indicating that an error occurred. By reading the user interface, the service technician can know that a communication error or printer error occurred.

For RAM usage, CPU usage, CPU temperature, data transfer rate, actual SSD use, cumulative printhead line count, and cumulative cutter operation count log items, the log display unit 504 displays information in the user interface indicating the class (error state, error warning state, error prediction state, or normal) of the status of the log item. For operating process and connected device log items, the log display unit 504 displays information in the user interface indicating the class (error state or normal) of the status of the log item.

Based on the class information of the corresponding record, the log display unit 504 displays information indicating the class of the status of those log items.

By referring to the user interface, the service technician can know the class of the status of the log items and take appropriate action based on that knowledge.

As a result, the service technician can get the status of the log items of a desired POS terminal 13 or printer 14 at the desired time by a function of the log display unit 504.

The management server-side data manager 505 of the management server 17, and the POS server-side data management unit 402 of the POS server 12, are described next.

Note that when not specifically differentiating between the first management server-side store management data 5151 and second management server-side store management data 5152, they are referred to as management server-side store management data 515.

The management server-side store management data 515 stored by the management server 17, and the POS server-side store management data 413 stored by the POS server 12, are described first.

FIG. 13 is used to describe the management server-side store management data 515.

Management server-side store management data 515 is stored for an individual company (business) in the management server storage unit 51. In this embodiment of the disclosure, there are two companies, company K1 and company K2, that use functions of the management server (services the management server 17 provides). Management server-side store management data 515 for the two companies, first management server-side store management data 5151 for company K1 and second management server-side store management data 5152 for company K2, is stored in the management server storage unit 51.

The management server-side store management data 515 stores store information for the stores of each company. In this example, first management server-side store management data 5151 includes store information for each store of company K1, and second management server-side store management data 5152 includes store information for each store of company K2.

FIG. 13A illustrates the content of the store information.

The store information is information related to a particular store. As shown in FIG. 13A, the store information includes a store ID, store name information indicating the name of the store, store address information indicating the address of the store, store telephone number information indicating the telephone number of the store, and POS terminal count information indicating the number of POS terminals 13 in the store system 11 of a particular store. Note that the information shown in FIG. 13A is for example only, and other information may be stored.

The management server-side store management data 515 also includes POS terminal information for each POS terminal 13 in the stores of the corresponding company. In this embodiment, the first management server-side store management data 5151 contains POS terminal information for each POS terminal 13 in the stores of company K1. The second management server-side store management data 5152 contains POS terminal information for each POS terminal 13 in the stores of company K2.

FIG. 13B illustrates the POS terminal information.

The POS terminal information is information related to a POS terminal 13. As shown in FIG. 13B, the POS terminal information includes a POS terminal ID, the store ID of the store where the POS terminal 13 is located, and POS terminal-related information. The POS terminal-related information is specific information related to a POS terminal 13, such as information about the settings of the POS terminal 13 (information related to network-related settings, and configuration settings related to printing-related settings, for example), and information related to the devices connected to the POS terminal 13. Note that the POS terminal information shown in FIG. 13B is for example only, and information other than that shown may be included.

The management server-side store management data 515 is used by service technicians and other authorized people to acquire information related to a store and information related to a POS terminal 13.

More specifically, the service technician wanting to acquire information related to a specific store or information related to a specific POS terminal 13 starts a web browser on a terminal to which the web browser is installed, and operates the web browser to access a specific URL on the management server 17.

After performing the required authentication when the specific URL is accessed, the management server-side data manager 505 causes the terminal to display a user interface (web page) such as described below on the terminal. This user interface has a field for selecting whether the information wanted by the service technician is information related to a store or information related to a POS terminal 13; a field for inputting the store ID; and a field for inputting the POS terminal ID. To acquire information related to a specific store, the service technician selects the option indicating the information to be acquired is information related to a store, and inputs the store ID for that specific store. To acquire information related to a specific POS terminal 13, the service technician selects the option indicating the information to be acquired is information related to a POS terminal 13, and inputs the POS terminal ID for the specific POS terminal 13.

Based on the input to the user interface, the management server-side data manager 505 references the management server-side store management data 515 and presents a user interface displaying the corresponding information on the terminal.

More specifically, when the option indicating the desired information is information related to a store is selected and the store ID for that specific store is input, the management server-side data manager 505 acquires the store information identified by the input store ID from the management server-side store management data 515, and presents a user interface displaying information from the store information on the terminal. By referring to the user interface, the service technician can know the name, address, and telephone number of the store, and the number of POS terminals 13 in the store system 11 deployed in that store, for example.

When the option indicating the desired information is information related to a POS terminal 13 is selected and the POS terminal ID for the specific POS terminal 13 is input, the management server-side data manager 505 acquires the POS terminal information identified by the input POS terminal ID from the management server-side store management data 515, and presents a user interface displaying information from the POS terminal information on the terminal. By referring to the user interface, the service technician can know information about the settings of the POS terminal 13 (information related to network-related settings, and configuration settings related to printing-related settings, for example), and information related to the devices connected to the POS terminal 13, for example.

The service technician can thus acquire information related to a specific store and information related to a specific POS terminal 13 based on the management server-side store management data 515.

More specifically, management server-side store management data 515 related to each company that uses functions of the management server 17 (services provided by the management server 17) is stored on the management server 17. An service technician can therefore centrally acquire information related to the stores of all companies, and information related to the POS terminals 13 of all companies.

The information in the POS server-side store management data 413 stored by the POS server 12 is identical to the management server-side store management data 515 stored by the management server 17. More specifically, the POS server-side store management data 413 includes store information for each corresponding store, and POS terminal information for each POS terminal 13 in the corresponding stores.

More specifically, the POS server-side store management data 413 stored by the POS server 12 for one company, and the management server-side store management data 515 stored by the management server 17 for the same one company, are synchronized as described below. Note that synchronization of the POS server-side store management data 413 and the management server-side store management data 515 means that both store the same value for the same corresponding information.

In this embodiment of the disclosure, the POS server-side store management data 413 stored by the POS server 12 of company K1, and the first management server-side store management data 5151 stored by the management server 17, are synchronized. Likewise, the POS server-side store management data 413 stored by the POS server 12 of company K2, and the second management server-side store management data 5152 stored by the management server 17, are synchronized.

A technician or other authorized person of a particular company uses the POS server-side store management data 413 to acquire information related to the stores related to that company and information related to the POS terminals 13 related to that company.

More specifically, the company technician wanting to acquire information related to a specific store or information related to a specific POS terminal 13 starts a web browser on a terminal to which the web browser is installed, and operates the web browser to access a specific URL on the POS server 12.

After performing the required authentication when the specific URL is accessed, the POS server-side data management unit 402 causes the terminal to display a user interface (web page) such as described below on the terminal. This user interface has a field for selecting whether the information wanted by the service technician is information related to a store or information related to a POS terminal 13; a field for inputting the store ID; and a field for inputting the POS terminal ID. To acquire information related to a specific store, the technician selects the option indicating the information to be acquired is information related to a store, and inputs the store ID for that specific store. To acquire information related to a specific POS terminal 13, the technician selects the option indicating the information to be acquired is information related to a POS terminal 13, and inputs the POS terminal ID for the specific POS terminal 13.

Based on the input to the user interface, the POS server-side data management unit 402 references the POS server-side store management data 413 and presents a user interface displaying the corresponding information on the terminal.

More specifically, when the option indicating the desired information is information related to a store is selected and the store ID for that specific store is input, the POS server-side data management unit 402 acquires the store information identified by the input store ID from the POS server-side store management data 413, and presents a user interface displaying information from the store information on the terminal. By referring to the user interface, the technician can know the name, address, and telephone number of the store, and the number of POS terminals 13 in the store system 11 deployed in that store, for example.

When the option indicating the desired information is information related to a POS terminal 13 is selected and the POS terminal ID for the specific POS terminal 13 is input, the POS server-side data management unit 402 acquires the POS terminal information identified by the input POS terminal ID from the POS server-side store management data 413, and presents a user interface displaying information in the POS terminal information on the terminal. By referring to the user interface, the service technician can know information about the settings of the POS terminal 13 (information related to network-related settings, and configuration settings related to printing-related settings, for example), and information related to the devices connected to the POS terminal 13, for example.

A service technician or corporate manager can thus acquire information related to a specific store and information related to a specific POS terminal 13 based on the POS server-side store management data 413.

As part of regular store system 11 maintenance, a POS terminal 13 may be replaced due to a problem with the POS terminal 13, for example, and a POS terminal 13 may be eliminated or added. To synchronize the content of the management server-side store management data 515 and the POS server-side store management data 413 with the actual state of the store system 11 after a POS terminal 13 is replaced, the data must be updated, the POS terminal information for the POS terminal 13 that was replaced must be deleted, and POS terminal information for the new POS terminal 13 must be added. The data must also be updated appropriately when a POS terminal 13 is eliminated or added.

The information related POS terminal 13 settings may also be be changed during store system 11 maintenance. The management server-side store management data 515 and POS server-side store management data 413 must also be updated in this event.

The name, address, telephone number, or other information about a store may also be updated during store system 11 maintenance. The management server-side store management data 515 and POS server-side store management data 413 must also be updated in this event.

When there is any change to the store system 11 requiring updating the management server-side store management data 515 and POS server-side store management data 413 in this embodiment of the disclosure, the data is kept efficiently synchronized and the identity of the content stored in each is maintained by the management server 17 and POS server 12 executing the following process. Operation of the management server 17 and POS server 12 when synchronizing the management server-side store management data 515 and POS server-side store management data 413 is described below.

FIG. 14 is a flowchart of the operation of the management server 17 and POS server 12. FIG. 14 (A) shows the operation of the management server 17, and FIG. 14 (B) shows the operation of the POS server 12.

As shown in FIG. 14 (A), the management server-side data manager 505 of the management server 17 monitors if a command to update the management server-side store management data 515 is received (step SN1).

A service technician or other authorized person can update desired management server-side store management data 515 using a specific means. For example, the service technician can update desired management server-side store management data 515 by inputting the necessary information to a user interface provided by the management server 17.

If a command to update the management server-side store management data 515 was received (step SN1: YES), the management server-side data manager 505 updates the data as instructed (step SN2).

Next, the management server-side data manager 505 updates (adds a corresponding record to the update management database 516) the corresponding update management database 516 appropriately to the data that was updated in step SN2 (step SN3).

An update management database 516 is a database for managing updates to the management server-side store management data 515, and an update management database 516 is stored for the management server-side store management data 515 of each store in the management server storage unit 51. In this embodiment of the disclosure, a first update management database 5161 corresponding to the first management server-side store management data 5151, and a second update management database 5162 for the second management server-side store management data 5152, are stored in the management server storage unit 51.

The update management database 516 is a database that stores, for each update to the corresponding management server-side store management data 515, a timestamp of the update relationally to difference data specifying the difference between the previous management server-side store management data 515 and the new, updated management server-side store management data 515.

In step SN3, the management server-side data manager 505 accesses the update management database 516 corresponding to the updated management server-side store management data 515, and generates and stores in the database a record relating the timestamp of the update relationally to difference data specifying the difference between the previous data and the updated data.

Next, the management server-side data manager 505 identifies the store system 11 corresponding to the information that was updated (step SN4).

If specific store information was updated, the management server-side data manager 505 identifies the store system 11 corresponding to the store information (the store system 11 deployed in the store of the store ID contained in the store information) in step SN4. If specific POS terminal information was updated, the management server-side data manager 505 identifies the store system 11 in which the POS terminal 13 corresponding to the POS terminal information that was updated (the store system 11 deployed in the store of the store ID contained in the POS terminal information) in step SN4.

Next, the management server-side data manager 505 identifies the POS server 12 that controls the store system 11 identified in step SN4 (step SN5). In this embodiment, when a store system 11 related to company K1 is identified in step SN4, the management server-side data manager 505 identifies the POS server 12 related to company K1 as the POS server 12 that controls the store system 11. When a store system 11 related to company K2 is identified in step SN4, the management server-side data manager 505 identifies the POS server 12 related to company K2 as the POS server 12 that controls the store system 11.

Next, the management server-side data manager 505 sends data reporting that the management server-side store management data 515 was updated to the POS server 12 identified in step SN5 (step SN6).

As shown in FIG. 14 (B), the POS server-side data management unit 402 of the POS server 12 receives the data sent by the management server 17 in step SN6 (step SO1).

Next, the POS server-side data management unit 402 acquires the previously stored information indicating the timestamp of the previous update (referred to below as the “previous update timestamp”) to the management server-side store management data 515 (step SO2).

As will be understood in step SO6 described below, when the management server-side store management data 515 is updated, the POS server-side data management unit 402 receives information indicating the timestamp of the update from the management server 17, and stores the received information in a specific storage area. In step SO2, the POS server-side data management unit 402 reads and acquires the information indicating the timestamp of the most recent update from the specific storage area.

Next, the POS server-side data management unit 402 sends data requesting transmission of the update information (described below), including the previous update timestamp acquired in step SO2, to the management server 17 (step SO3).

As shown in FIG. 14 (A), the management server-side data manager 505 of the management server 17 receives the data transmitted from the POS server 12 in step SO3 (step SN7).

Next, the management server-side data manager 505 generates update information based on the data received in step SN7□ (step SN8).

In step SN8, the management server-side data manager 505 references the corresponding update management database 516, and acquires difference data representing updates between the time of the update indicated by the previous update timestamp contained in the data received in step SN7, and the time of the update made in step SN2 (the current update). Note that difference data for the update that was made at the time indicated by the previous update timestamp is omitted from the difference data acquired at this time.

Next, the management server-side data manager 505 generates update information including the acquired difference data.

After generating the update information, the management server-side data manager 505 sends data including the generated update information and information indicating the update timestamp acquired in step SN2 (referred to below as the “current update timestamp”) to the POS server 12 (step SN9).

As shown in FIG. 14 (B), the POS server-side data management unit 402 of the POS server 12 receives the data transmitted by the management server 17 in step SN9 (step SO4).

Next, the POS server-side data management unit 402 updates the POS server-side store management data 413 based on the update information contained in the data received in step SO4 (step SO5). In step SO5, the POS server-side data management unit 402 updates the POS server-side store management data 413 appropriately to the difference data based on the one or plural difference data objects contained in the update information. As a result, an update corresponding to the changes made to the management server-side store management data 515 from the time of the previous update timestamp acquired in step SO2 to the present is applied to the POS server-side store management data 413, and the content of the management server-side store management data 515 and POS server-side store management data 413 are thus synchronized (the content of both is made the same).

Next, the POS server-side data management unit 402 stores the current update timestamp contained in the data received in step SO4 (step SO6). The information stored in step SO6 is acquired as the previous update timestamp by the POS server-side data management unit 402 the next time step SO2 executes.

When the management server-side store management data 515 is actually updated in this embodiment of the disclosure, specific information is exchanged by the management server 17 and POS server POS server 12, and the POS server-side store management data 413 and management server-side store management data 515 are synchronized. The effect of this is described below.

The POS server 12 regularly (such as each minute) queries the management server 17 for any changes made to the management server-side store management data 515, and if the response to the query is that a change (update) was made, the POS server 12 can make the corresponding changes to the POS server-side store management data 413.

However, the POS server 12 must process regularly generating and sending the corresponding data, the management server 17 must also regularly receive and process data accordingly, and the processing load of the servers increases commensurately. Furthermore, because query data must be regularly sent and received, and response data to the query must be regularly sent and received, the communication load also increases. However, because the data stored by the management server 17 and by the POS server 12 are synchronized in this embodiment by the process described above, data stored by each server can be efficiently synchronized, an increase in the processor load on each server can be suppressed, and an increase in the communication load can be suppressed.

The POS server 12 in this embodiment of the disclosure also stores a previous update timestamp. When a report that the management server-side store management data 515 was updated is received, the POS server 12 sends the previous update timestamp to the management server 17, and the management server 17 sends update information containing difference data related to the update that was performed at the time indicated by the previous update timestamp, and the time of the current update. Based on the received update information, the POS server 12 updates the POS server-side store management data 413. Thus comprised, the data stored on each server can be synchronized appropriately to the current (most recent) update even if the POS server-side store management data 413 was not updated the last time the management server-side store management data 515 was updated because of a communication error, for example.

In this embodiment of the disclosure the management server 17 sends information containing difference data as the update information. The content of the update information is not limited to difference data, however. For example, the update information may be a control command for making the corresponding update, or the most recent management server-side store management data 515 itself.

The operation of a POS terminal 13 installed in the store when the POS terminal 13 is turned on is described next.

FIG. 15 is a flow chart showing the operation of the POS server 12 and POS terminal 13 when the POS terminal 13 is turned on. FIG. 15 (A) shows the operation of the POS terminal 13, and (B) shows the operation of the POS server 12.

The checkout clerk first turns the POS terminal 13 on (step S1). In this example, the POS terminal 13 is installed at a checkout counter L, and the checkout clerk turns the POS terminal 13 on before the store opens each day. In this example, the POS terminal 13 is configured to automatically start a specific web browser when the POS terminal 13 turns on.

As shown in FIG. 15 (A), when the browser starts, the client function unit 202 of the POS terminal 13 accesses a specific URL on the POS server 12 (step SR1). The URL of the POS server 12, the format of data exchanged in communication with the POS server 12, and other information required to communicate with the POS server 12 is previously registered in the POS terminal 13.

As shown in FIG. 15 (B), when the specific URL is accessed by the POS terminal 13, the transaction-related process execution unit 401 of the POS server 12 controls the POS server communication unit 42 to send a specific HTML file to the POS terminal 13 (step SS1). The specific HTML file is an HTML file having at least a function for displaying the user interface for processing transactions 60 described below.

As shown in FIG. 15 (A), the client function unit 202 of the POS terminal 13 controls the control device communication unit 23 to receive and acquire the specific HTML file (step SR2).

The client function unit 202 executes the acquired specific HTML file, and displays a user interface for processing transactions 60 (FIG. 16) on the touch panel TP (step SR3).

FIG. 16 shows an example of a user interface for processing transactions 60 that is displayed on the touch panel TP.

A list display area 61 where the names of the products being purchased by the customer, the prices of the products, and the quantities of the products are presented in a list is displayed at the top left of the user interface for processing transactions 60 in FIG. 16. To the right of this list display area 61 is presented an amount display area 62 where the total amount of the products being purchased by the customer, the amount of money received from the customer in the transaction, and the amount of change due to the customer are displayed.

Below the list display area 61 is a barcode information display area 63 the information (referred to below as barcode information) expressed by the barcode that is read by the barcode scanner BS is displayed. The barcode information is basically the product code assigned to the product.

A virtual keypad 64 is displayed on the right side of the barcode information display area 63.

The virtual keypad 64 includes an Enter key 641 for finalizing the transaction, and a Subtotal key 642 for calculating the subtotal (the total of the products purchased by the customer).

The checkout clerk then processes the transaction using the user interface for processing transactions 60 at the checkout counter L.

As described above, a user interface for processing transactions 60 used to process a transaction (business) at the checkout counter L is automatically displayed on the touch panel TP of the POS terminal 13 when the POS terminal 13 turns on. As a result, there is no need for the operator to input the URL of the POS server 12, for example, when the POS terminal 13 turns on, and the productivity of the operator and user convenience is excellent.

The transaction process executed by the POS terminal 13 during a transaction at the checkout counter L is described next.

FIG. 17 is a flow chart of the operation of the POS terminal 13 when executing the transaction process.

As shown in FIG. 17, during the transaction process, the client function unit 202 of the control device controller 20 of the POS terminal 13 first executes a product information acquisition process (step ST1).

In the product information acquisition process, the client function unit 202 communicates with the POS server 12 to acquire the name and price of each item the customer purchases (referred to below as product-related information), and executes processes based on the acquired product-related information. This product information acquisition process is described further below.

FIG. 18 is a flow chart of the operation of the POS terminal 13 and the POS server 12 when executing the product information acquisition process. FIG. 18 (A) shows the operation of the POS terminal 13, and FIG. 18 (B) shows the operation of the POS server 12.

In the transaction process at the checkout counter L, the checkout clerk reads the barcode on the product or the packaging of the product being purchased by the customer with the barcode scanner BS (step S2). Upon reading a barcode, the barcode scanner BS sends data based on the read result (referred to below as the “read result data”) through the port to which the barcode scanner BS is connected to the control device-side device communication unit 24 of the POS terminal 13. The control device-side device communication unit 24 then outputs the read result data to the control device controller 20.

The read result data is data including information indicating the product code of the product.

As shown in FIG. 18 (A), the client function unit 202 of the control device controller 20 of the POS terminal 13 then acquires the read result data based on the input from the control device-side device communication unit 24 (step SU1).

Next, the client function unit 202 acquires the product code based on the read result data (step SU2).

Next, the client function unit 202 displays the product code acquired in step SU2 in the barcode information display area 63 of the user interface for processing transactions 60 (step SU3).

Next, the client function unit 202 controls the control device communication unit 23 to send the product name for the product code acquired in step SU2 and data querying the price of the product (referred to below as product information request data) to the POS server 12 (step SU4).

As shown in FIG. 18 (B), the transaction-related process execution unit 401 of the POS server controller 40 of the POS server 12 controls the POS server communication unit 42 to receive the product information request data (step SV1).

Next, the transaction-related process execution unit 401, based on the received product information request data, acquires the product code, references the product master database 411 stored by the POS server storage unit 41, and acquires the name and price of the produce identified by the acquired product code (step SV2).

The process of step SV2 is equivalent to a request by the POS server 12.

Next, the transaction-related process execution unit 401 controls the POS server communication unit 42 to send product information response data expressing the product name and price information acquired in step SV2 to the POS terminal 13 (step SV3).

The product information response data corresponds to a response, and the process of step SV3 is equivalent to a process of sending a response indicating the result of a process corresponding to the request.

As shown in FIG. 18 (A), the client function unit 202 of the control device controller 20 of the POS terminal 13 then controls the control device communication unit 23 to receive the product information response data (step SU5).

Next, the client function unit 202 acquires the product name and product price information based on the received product information response data, and displays the name, price, and quantity of the product in the corresponding fields of the list display area 61 in the user interface for processing transactions 60 (step SU6).

In the product information acquisition process, the checkout clerk reads the barcode with the barcode scanner BS from each product being purchased by the customer, and the POS terminal 13 and POS server 12 execute the process shown in the flow chart in FIG. 18 based on the read barcode.

When reading the barcode from every product and processing by each device based on the read barcode is completed, the product information acquisition process shown in step ST1 in FIG. 17 ends.

When the barcode of every product has been read and processing by each device based on the read barcode is completed, the name, price, and quantity of each product the customer purchases is displayed in the list display area 61.

As shown in FIG. 17, after completing the product information acquisition process in step ST1, the client function unit 202 executes a transaction amount acquisition process (step ST2). In the transaction amount acquisition process of step ST2, the client function unit 202 acquires the total amount of the products purchased by the customer, and acquires the amount of change due based on the amount received from the customer. This transaction amount acquisition process is described further below.

FIG. 19 is a flowchart showing the operation of the POS terminal 13 and the operation of the POS server 12 in the transaction amount acquisition process. FIG. 19 (A) shows the operation of the POS terminal 13, and FIG. 19 (B) shows the operation of the POS server 12.

When reading the barcode from every product is completed, the checkout clerk operates the Subtotal key 642 of the virtual keypad (step S3).

As shown in FIG. 19 (A), when operation of the Subtotal key 642 is detected, the client function unit 202 of the control device controller 20 of the POS terminal 13 generates a subtotal calculation request requesting calculating the subtotal, and controls the control device communication unit 23 to send the request to the POS server (step SW1). When the subtotal calculation request is sent, the client function unit 202 starts counting how much time passes.

As shown in FIG. 19 (B), the transaction-related process execution unit 401 of the POS server 12 controls the POS server communication unit 42 to receive the subtotal calculation request (step SX1).

Next, the transaction-related process execution unit 401 calculates the subtotal based on the received subtotal calculation request (step SX2). Note that the transaction-related process execution unit 401 manages the product barcodes of the products purchased by the customer based on the product information response request and associated data received from the POS terminal 13. In step SX2, the transaction-related process execution unit 401 references the product master database 411 based on the managed product barcodes, and calculates the subtotal (the total of the purchased products). The method of calculating the subtotal is not limited to this example, and any appropriate method may be used.

Next, the transaction-related process execution unit 401 sends a subtotal response denoting the calculated subtotal to the POS terminal 13 (step SX3).

As shown in FIG. 19 (A), the client function unit 202 of the control device controller 20 of the POS terminal 13 controls the control device communication unit 23 to receive the subtotal response (step SW2).

Next, the client function unit 202, based on the received subtotal response, displays the subtotal (the total of the purchased products) in the appropriate field of the amount display area 62 (step SW3).

When the subtotal is displayed in the amount display area 62, the customer pays the checkout clerk. The checkout clerk receives payment from the customer, inputs the amount received through the virtual keypad 64, and operates the Enter key 641 (step S4). When operation of the Enter key 641 is detected, the client function unit 202 displays the amount received from the customer in the corresponding field of the amount display area 62.

When operation of the Enter key 641 is detected, the client function unit 202 also sends a calculate change request requesting calculating the amount of change due to the POS server 12 (step SW4). When the calculate change request is sent, the client function unit 202 starts counting how much time passes.

As shown in FIG. 19 (B), the transaction-related process execution unit 401 of the POS server 12 controls the POS server communication unit 42 to receive the calculate change request (step SX4).

Next, the transaction-related process execution unit 401 calculates the amount of change due (step SX5).

Next, the transaction-related process execution unit 401 sends a change-due response indicating the calculated change that is due to the POS terminal 13 (step SX6).

As shown in FIG. 19 (A), the client function unit 202 of the POS terminal 13 controls the control device communication unit 23 to receive the change-due response (step SW5).

Next, the client function unit 202, based on the received change-due response, displays the amount of change in the appropriate field of the amount display area 62 (step SW6).

Based on the change amount displayed in the amount display area 62, the checkout clerk returns change to the customer.

As described above, in the transaction amount acquisition process of step ST2, the client function unit 202 acquires the total of the purchased products, and then gets the amount of change due to the customer based on the amount received from the customer.

As shown in FIG. 17, after the transaction amount acquisition process, the client function unit 202 produces a receipt (step ST3). In the receipt printing process of step ST3, the client function unit 202 communicates with the POS server 12 to produce a receipt printed with information including information related to the products purchased by the customer, and the total of the purchased products. The receipt printing process is described below.

FIG. 20 is a flowchart showing the operation of the POS terminal 13 and the POS server 12 when executing the receipt printing process. FIG. 20 (A) shows the operation of the POS terminal 13, and FIG. 20 (B) shows the operation of the POS server 12.

As shown in FIG. 20 (A), when the transaction amount acquisition process ends, the client function unit 202 of the control device controller 20 of the POS terminal 13 acquires the transaction information (step SY1).

The transaction information is information including: identification information uniquely assigned to each transaction (referred to below as transaction identification information); information denoting the combination of product code, name, price, and quantity for each product purchased by the customer (referred to below as the purchased product information); information denoting the subtotal, the cash amount received from the customer, and the change returned to the customer (referred to below as transaction amount information); information denoting the time of the transaction (referred to below as the transaction time information); and the store ID, which is identification information for the store (business) where the transaction was completed.

Note that during a transaction, the client function unit 202 stores information contained the purchased product information and information contained in the transaction amount information to specific storage areas. In step SY1, the client function unit 202 acquires purchased product information and transaction amount information based on the information stored to the specific storage areas.

The time that the transaction was performed as indicated by the transaction time information is the time when the Enter key 641 was operated. The time that the transaction was performed as indicated by the transaction time information is not limited to the time that the Enter key 641 was operated, and may be any time derived from the transaction, such as the time when the barcode for the first product was read in the transaction.

The client function unit 202 also has a function for generating transaction identification information for each transaction, and generates the transaction identification information using this function. The value of the transaction identification information is unique to each transaction performed in each store.

After acquiring the transaction information, the client function unit 202 controls the control device communication unit 23 to send transaction information data expressing the acquired transaction information data to the POS server 12 (step SY2).

As shown in FIG. 20 (B), the transaction-related process execution unit 401 of the POS server controller 40 of the POS server 12 controls the POS server communication unit 42 to receive the transaction information data (step SZ1).

Next, the transaction-related process execution unit 401 generates recording data for producing a receipt in a specific layout based on the transaction information indicated by the received transaction information data (step SZ2).

The recording data is control data specifying producing a receipt according to a specific layout, and including in this example a top logo, bottom logo, transaction identification information, the time of the transaction, the name, price, quantity and total amount of the products purchased by the customer, the amount received from the customer, and the amount of change due to the customer. The recording data in this embodiment is an XML document of information written in a specific XML format.

Next, the transaction-related process execution unit 401 controls the POS server communication unit 42 to send the generated recording data to the POS terminal 13 (step SZ3).

After receiving the transaction information data in step SZ1, the transaction-related process execution unit 401 accesses the transaction information management database 412 stored by the POS server storage unit 41 (step SZ4).

Each record in the transaction information management database 412 relationally stores the transaction identification information, purchased product information, transaction amount information, transaction time information, and store ID.

Next, based on the transaction information data received in step SZ2, a record relating the transaction identification information, purchased product information, transaction amount information, transaction time information, and store ID is created in the transaction information management database 412 (step SZ5).

The POS server 12 thus cumulatively stores transaction information appropriate to each transaction. As a result, information such as sales by store and sales by individual product in each store can be managed.

As shown in FIG. 20 (A), the client function unit 202 of the control device controller 20 of the POS terminal 13 controls the control device communication unit 23 to receive the recording data (step SY3).

Next, the client function unit 202 generates recording commands in the command language of the process controller 201 based on the recording data of an XML document (step SY4). The client function unit 202 outputs the generated recording commands to the process controller 201.

Next, the process controller 201 controls the control device print unit 21 based on the generated recording commands to produce a receipt (step SY5).

The checkout clerk then gives the receipt produced in step SY5 to the customer.

As described above, the POS terminal 13 in this embodiment of the disclosure executes a transaction process and produces a receipt based on a transaction using functions of the POS server 12. The POS server 12 also cumulatively stores the transaction information derived from the transaction process.

As described above, a network system 1 according to the disclosure includes a store system 11 (POS system), a POS server 12 that controls the store system. 11 and is connected to the store system 11 through a global network GN (network), and a management server 17 that manages the store system 11 and is connected to the store system 11 through the global network GN.

The management server 17 stores management server-side store management data 515 (management server-side data) including information related to the store system 11, and the POS server 12 stores POS server-side store management data 413 (POS server-side data) including information related to the store system 11.

When the management server-side store management data 515 is updated, the management server 17 reports the update to the POS server 12. The POS server 12 then sends locally stored information indicating when the management server-side store management data 515 was last updated to the management server 17. The management server 17 then sends update information including information related to changes made to the management server-side store management data 515 between the last update indicated by the received information and the current (present) update, and information indicating the time and date of the current (present) update to the POS server 12. The POS server 12 then updates the POS server-side store management data 413 based on the received update information, and stores information indicating the time and date of the received current update as the information (timestamp) indicating the last time the management server-side store management data 515 was updated.

Thus comprised, data can be efficiently synchronized between servers, increasing the processor load on the servers can therefore be suppressed, and increasing the communication load can be suppressed.

When information related to one store system 11 contained in the management server-side store management data 515 is updated in this embodiment, the management server 17 reports the update to the POS server 12 that controls that one store system 11.

Thus comprised, when information related to one store system 11 contained in the management server-side store management data 515 is updated, the corresponding POS server-side store management data 413 on the corresponding POS server 12 can be synchronized with the management server-side store management data 515.

The management server-side store management data 515 and POS server-side store management data 413 in this embodiment of the disclosure also contain information related to POS terminals 13.

Thus comprised, management server-side store management data 515 containing information related to a POS terminal 13, and the POS server-side store management data 413, can be synchronized by an efficient process.

The management server-side store management data 515 and POS server-side store management data 413 in this embodiment of the disclosure also contain information related to a store.

Thus comprised, management server-side store management data 515 containing information related to a store, and the POS server-side store management data 413, can be synchronized by an efficient process.

The disclosure is described above with reference to a preferred embodiment thereof, but the disclosure is not limited thereto and can be modified and adapted in many ways without departing from the scope of the accompanying claims.

The store system 11 according to the disclosure is applied by way of example to a store system above, but the enterprises in which the store system 11 may be used are not limited to stores.

In addition, any appropriate method of communication may be used by devices in the network system 1.

In addition, the POS terminal 13 records by a thermal recording method in the foregoing example, but the recording method is not so limited.

The function blocks described above with reference to the figures can be embodied as desired by the cooperation of hardware and software, and do not suggest a specific hardware configuration.

The function blocks shown in the accompanying function block diagrams illustrate the functional configurations of the devices, but the specific embodiments thereof are not so limited. More specifically, there is no requirement for hardware embodiments of the function blocks shown in the figures, and a configuration in which the functions of plural functional parts are rendered by a single processor executing one or more programs is obviously conceivable. Some functions embodied by software in the foregoing embodiment may also alternatively be embodied by hardware, and some functions embodied by hardware in the foregoing embodiment may also alternatively be embodied by software.

The disclosure being thus described, it will be obvious that it may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the disclosure, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims. 

What is claimed is:
 1. A network system comprising: a point of sale (POS) system; a POS server configured to connect to the POS system through a network and control serve the POS system as a POS client; and a management server configured to connect to the POS system through the network and manage a status of the POS system; wherein the management server stores management server-side data including information related to the POS system; the POS server stores POS server-side data including information related to the POS system; the management server reports that there is an update to the POS server when an instruction to update the management server-side data is executed; the POS server sends to the management server previously stored information indicating when the management server-side data has been last updated; the management server sends to the POS server update information including information related to updates to the management server-side data made between the last update indicated by the received information and a current update, and information indicating when the current update has been applied; and the POS server updates the POS server-side data based on the received update information, and stores information indicating when the current update has been applied as information indicating when the management server-side data has been last updated.
 2. The network system described in claim 1, wherein: the network is connected to a plurality of PUS systems, and a plurality of POS servers that serve different POS systems; and when an instruction to update information related to one POS system contained in the management server-side data is executed, the management server reports that there was is an update to the one POS server that serve that one POS system.
 3. The network system described in claim 1, wherein: the POS system has a POS terminal configured to execute a transaction-related process; and the management server-side data and the POS server-side data include information related to the POS terminal.
 4. The network system described in claim 1, wherein: the POS system is used in a store where transactions are made; and the management server-side data and POS server-side data include information related to the store.
 5. A control method of a network system including a point of sale (POS) system, a POS server that connects to the POS system through a network, stores POS server-side data including information related to the POS system, and serves the POS system as POS clients, and a management server that connects to the POS system through the network, stores management server-side data including information related to the PUS system, and manages a status of the POS system, the control method comprising steps of: the management server reporting that there is an update to the POS server when an instruction to update the management server-side data is executed; the POS server sending to the management server previously stored information indicating when the management server-side data has been last updated; the management server sending to the POS server update information including information related to updates to the management server-side data made between the last update indicated by the received information and a current update, and information indicating when the current update has been applied; and the POS server updating the POS server-side data based on the received update information, and storing information indicating when the current update has been applied.
 6. The control method of a network system described in claim 5, wherein: the network is connected to a plurality of POS systems, and a plurality of POS servers that serve different POS systems; and when an instruction to update information related to one PUS system contained in the management server-side data is executed, the management server reports that there is an update to the one POS server that serves that one POS system.
 7. A management server configured to connect to a point of sale (POS) server that serves a POS system as a POS client including a POS terminal that executes a transaction-related process and a printing device, wherein: the management server reports that there is an update to the POS server when an instruction to update data including information related to the POS system is executed; receives from the PUS server information indicating when the data has been last updated; and sends to the POS server update information including information related to updates made to the data between the last update indicated by the received information and a current update, and information indicating when the current update has been applied.
 8. The management server described in claim 7, wherein: the management server connects to plural POS servers that serve different POS systems; and reports that there is an update to the one POS server that serves that one POS system when an instruction to update information related to one POS system contained in the data is executed. 